рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдХреЛрдб рдСрдирд▓рд╛рдЗрди рдЪрд▓рд╛рдПрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
рдХреЛрдб рдЪрд▓рд╛рдПрдВ1. Pandas DataFrame рдХреИрд╕реЗ рдмрдирд╛рдПрдВ
рд╕реНрдкрд╖реНрдЯ рд╣реИ, Python рдореЗрдВ рдбреЗрдЯрд╛ рдордиреНрдЬрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рд▓рдЧрднрдЧ рд╣рд░ рдЪреАрдЬрд╝ рдореЗрдВ рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдХрджрдо рдЕрдкрдирд╛ DataFrame рдмрдирд╛рдирд╛ рд╣реА рд╣реИред рдХрднреА-рдХрднреА рдЖрдк рдмрд┐рд▓рдХреБрд▓ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ, рдЬреИрд╕реЗ рд▓рд┐рд╕реНрдЯ рдпрд╛ NumPy arrays, рдХреЛ рднреА Pandas DataFrames рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ, рдЖрдк рд╕рд┐рд░реНрдлрд╝ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдЦрд╛рд▓реА DataFrames рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдмрд╛рдж рдореЗрдВ рдбреЗрдЯрд╛ рд╕реЗ рднрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╕реЗрдХреНрд╢рди 7 рдкрд░ рдЬрд╛рдПрдБред
тАШDataFrameтАЩ рдмрдирд╛рдиреЗ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рдЪреАрдЬреЗрдВ рдХрд╛рдо рдЖ рд╕рдХрддреА рд╣реИрдВ; рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ NumPy ndarray рднреА рд╣реИред рдХрд┐рд╕реА NumPy array рд╕реЗ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ DataFrame() рдлрдВрдХреНрд╢рди рдореЗрдВ data рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
data = np.array([['','Col1','Col2'],
['Row1',1,2],
['Row2',3,4]])
print(pd.DataFrame(data=data[1:,1:],
index=data[1:,0],
columns=data[0,1:]))
Col1 Col2
Row1 1 2
Row2 3 4
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдЦрдВрдб рдпрд╣ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдХрд┐ DataFrame рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП NumPy array рд╕реЗ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХреИрд╕реЗ рдЪреБрдиреЗ рдЬрд╛рддреЗ рд╣реИрдВ: рдЖрдк рдкрд╣рд▓реЗ рдЙрди рд▓рд┐рд╕реНрдЯреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рдорд╛рди рдЪреБрдирддреЗ рд╣реИрдВ рдЬреЛ Row1 рдФрд░ Row2 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ, рдлрд┐рд░ рдЖрдк рдЗрдВрдбреЗрдХреНрд╕ рдпрд╛ рдкрдВрдХреНрддрд┐ рдХреЗ рдирд╛рдо Row1 рдФрд░ Row2 рдЪреБрдирддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдХреЙрд▓рдо рдирд╛рдо Col1 рдФрд░ Col2ред
рдЕрдЧрд▓рд╛, рдЖрдк рдпрд╣ рднреА рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдордиреЗ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЪрдпрди рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛ред рдпрд╣ 2D NumPy arrays рдХреЗ рд╕рдмрд╕реЗрдЯрд┐рдВрдЧ рдЬреИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЖрдк рдкрд╣рд▓реЗ рд╡рд╣ рдкрдВрдХреНрддрд┐ рдмрддрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдбреЗрдЯрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдХреЙрд▓рдоред рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ 0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ! рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ data рдХреЗ рд▓рд┐рдП, рдЖрдк рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ 1 рд╕реЗ рдЕрдВрдд рддрдХ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ 1 рдХреЗ рдмрд╛рдж рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдЖрдк 1, 2, 3 рдФрд░ 4 рдЪреБрди рд▓реЗрддреЗ рд╣реИрдВред
DataFrames рдмрдирд╛рдиреЗ рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рдЙрди рд╕рднреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд░рд╣реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ DataFrame() рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред
рдиреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ Pandas рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╣рд▓реЗ рд╕реЗ pd рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╣реИред
# Take a 2D array as input to your DataFrame
my_2darray = np.array([[1, 2, 3], [4, 5, 6]])
print(pd.DataFrame(my_2darray))
# Take a dictionary as input to your DataFrame
my_dict = {1: ['1', '3'], 2: ['1', '2'], 3: ['2', '4']}
print(pd.DataFrame(my_dict))
# Take a DataFrame as input to your DataFrame
my_df = pd.DataFrame(data=[4,5,6,7], index=range(0,4), columns=['A'])
print(pd.DataFrame(my_df))
# Take a Series as input to your DataFrame
my_series = pd.Series({"Belgium":"Brussels", "India":"New Delhi", "United Kingdom":"London", "United States":"Washington"})
print(pd.DataFrame(my_series))
0 1 2
0 1 2 3
1 4 5 6
1 2 3
0 1 1 2
1 3 2 4
A
0 4
1 5
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреА Series (рдФрд░ DataFrame) рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдореВрд▓ рдбрд┐рдХреНрд╢рдирд░реА рдХреА keys рд░рдЦрддрд╛ рд╣реИ, рдкрд░ рд╡реЗ sort рдХрд┐рдП рдЧрдП рд╣реИрдВ: Belgium рдЗрдВрдбреЗрдХреНрд╕ 0 рдкрд░ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ United States рдЗрдВрдбреЗрдХреНрд╕ 3 рдкрд░ред
DataFrame рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЖрдк shape рдкреНрд░реЙрдкрд░реНрдЯреА рдпрд╛ len() рдлрдВрдХреНрд╢рди рдХреЛ .index рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6]]))
# Use the `shape` property
print(df.shape)
# Or use the `len()` function with the `index` property
print(len(df))
(2, 3)
2
рдпреЗ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЗ DataFrame рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдЕрд▓рдЧ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреЗ рд╣реИрдВ: shape рдкреНрд░реЙрдкрд░реНрдЯреА рдЖрдкрдХреЗ DataFrame рдХреЗ рдЖрдпрд╛рдо рджреЗрддреА рд╣реИтАФрдпрд╛рдиреА рдЗрд╕рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдБрдЪрд╛рдИред рджреВрд╕рд░реА рдУрд░, len() рдлрдВрдХреНрд╢рди, index рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд╕рд╛рде, рдХреЗрд╡рд▓ DataFrame рдХреА рдКрдБрдЪрд╛рдИ рдмрддрд╛рддрд╛ рд╣реИред
рдпрд╣ рдЕрд╕рд╛рдзрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ index рдкреНрд░реЙрдкрд░реНрдЯреА рджреА рд╣реИред
рдЖрдк df[0].count() рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ DataFrame рдХреА рдКрдБрдЪрд╛рдИ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░ рдпрд╣ NaN рдорд╛рдиреЛрдВ (рдпрджрд┐ рд╣реЛрдВ) рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП DataFrame рдкрд░ .count() рдХреЙрд▓ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрдкрдиреА DataFrame рдХреА рдХреЙрд▓рдореНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ list(my_dataframe.columns.values) рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред┬а
рдореВрд▓рднреВрдд DataFrame рдСрдкрд░реЗрд╢рдВрд╕
рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ Pandas DataFrame рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдЕрдм рдЕрд╕рд▓реА рдХрд╛рдо рдкрд░ рд▓рдЧрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ!
рдпрд╣ рдкрд╣рд▓рд╛ рд╕реЗрдХреНрд╢рди рдЖрдкрдХреЛ Python рдореЗрдВ DataFrames рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╢реБрд░реБрдЖрддреА рдХрджрдореЛрдВ рд╕реЗ рд▓реЗ рдЪрд▓реЗрдЧрд╛ред рдпрд╣ рдЙрди рдмреБрдирд┐рдпрд╛рджреА рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛ рдЬреЛ рдЖрдк рдЕрдкрдиреЗ рдирдП рдмрдирд╛рдП DataFrame рдкрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЬреЛрдбрд╝рдирд╛, рдЪреБрдирдирд╛, рд╣рдЯрд╛рдирд╛, рдирд╛рдо рдмрджрд▓рдирд╛, рдФрд░ рдЕрдзрд┐рдХред
2. Pandas DataFrame рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдпрд╛ рдХреЙрд▓рдо рдХреИрд╕реЗ рдЪреБрдиреЗрдВ
рдЕрдкрдиреЗ DataFrame рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рдирд╛рдо рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрдиреНрд╣реЗрдВ рдЪреБрдирдирд╛ рдХреИрд╕реЗ рд╣реИред рддреЛ, рдЖрдк рдпрд╣ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?
рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рдпрд╣ рдкрд┐рдЫрд▓реА рд╕реЗрдХреНрд╢рди рд╕реЗ рдпрд╛рдж рд╣реЛ: рдЕрдкрдиреЗ DataFrame рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕, рдХреЙрд▓рдо рдпрд╛ рдорд╛рди рдЪреБрдирдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИтАФрдЙрд▓реНрдЯрд╛, рдХрд╛рдлрд╝реА рд╕рд░рд▓ рд╣реИред рдпрд╣ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ (рдпрд╛ рдкреИрдХреЗрдЬреЛрдВ!) рдореЗрдВ рджрд┐рдЦрдиреЗ рдЬреИрд╕рд╛ рд╣реА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
R рдореЗрдВ, рдЖрдк рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЗ рдорд╛рдиреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП [,] рд╕рдВрдХреЗрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдм, рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХрд╛ DataFrame рд╣реИ:
A B C
0 1 2 3
1 4 5 6
2 7 8 9
рдФрд░ рдЖрдк рд╡рд╣ рдорд╛рди рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЗрдВрдбреЗрдХреНрд╕ 0 рдкрд░, рдХреЙрд▓рдо тАШAтАЩ рдореЗрдВ рд╣реИред
рдЖрдкрдХрд╛ рдорд╛рди 1 рдкрд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:
df = pd.DataFrame({"A":[1,4,7], "B":[2,5,8], "C":[3,6,9]})
print(df)
A B C
0 1 2 3
1 4 5 6
2 7 8 9
# Using `iloc[]`
print(df.iloc[0][0])
# Using `loc[]`
print(df.loc[0]['A'])
# Using `at[]`
print(df.at[0,'A'])
# Using `iat[]`
print(df.iat[0,0])
1
1
1
1
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ .loc[] рдФрд░ .iloc[]ред рдЗрдирдХреЗ рд╕реВрдХреНрд╖реНрдо рдлрд░реНрдХ рдЖрдЧреЗ рдХреА рд╕реЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЬрд╛рдПрдБрдЧреЗред
рдлрд┐рд▓рд╣рд╛рд▓ рдорд╛рди рдЪреБрдирдиреЗ рдХреА рдмрд╛рдд рдХрд╛рдлреА рд╣реИред рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рдХреЙрд▓рдо рдЪреБрдирдирд╛ рдХреИрд╕рд╛ рд░рд╣реЗрдЧрд╛? рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдпрд╣ рдХрд░реЗрдВрдЧреЗ:
# Use `iloc[]` to select row `0`
print(df.iloc[0])
# Use `loc[]` to select column `'A'`
print(df.loc[:,'A'])
A 1
B 2
C 3
Name: 0, dtype: int64
0 1
1 4
2 7
Name: A, dtype: int64
рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЬрд╛рдирдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдЖрдк рдорд╛рдиреЛрдВ рддрдХ рдпрд╛ рддреЛ рдЙрдирдХреЗ рд▓реЗрдмрд▓ рд╕реЗ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдирдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдпрд╛ рдХреЙрд▓рдо рдореЗрдВ рд╕реНрдерд┐рддрд┐ рд╕реЗред рдпрджрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХрдорд╛рдВрдбреНрд╕ рдореЗрдВ рдЫреЛрдЯреЗ рдЕрдВрддрд░ рдлрд┐рд░ рджреЗрдЦреЗрдВ: рдПрдХ рдмрд╛рд░ рдЖрдк [0][0] рджреЗрдЦрддреЗ рд╣реИрдВ, рджреВрд╕рд░реА рдмрд╛рд░ [0,'A'] рджреЗрдЦрддреЗ рд╣реИрдВ рдЕрдкрдиреЗ 1 рдорд╛рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
3. Pandas DataFrame рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕, рдкрдВрдХреНрддрд┐ рдпрд╛ рдХреЙрд▓рдо рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ
рдЕрдм рдЬрдм рдЖрдкрдиреЗ DataFrame рд╕реЗ рдорд╛рди рдЪреБрдирдирд╛ рд╕реАрдЦ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдЕрд╕рд▓реА рдХрд╛рдо рдкрд░ рд▓рдЧреЗрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕, рдкрдВрдХреНрддрд┐ рдпрд╛ рдХреЙрд▓рдо рдЬреЛрдбрд╝реЗрдВ!
DataFrame рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛
рдЬрдм рдЖрдк DataFrame рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ тАШindexтАЩ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдореЗрдВ рдЗрдирдкреБрдЯ рджреЗрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдордирдЪрд╛рд╣рд╛ рдЗрдВрдбреЗрдХреНрд╕ рдорд┐рд▓ рдЬрд╛рдПред рдЬрдм рдЖрдк рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ, рддреЛ рдЖрдкрдХреЗ DataFrame рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░ рдЖрдЦрд┐рд░реА рдкрдВрдХреНрддрд┐ рддрдХ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдВрдбреЗрдХреНрд╕ рд╣реЛрдЧрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рднрд▓реЗ рд╣реА рдЖрдкрдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдЕрдкрдиреЗ рдЖрдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛ, рдлрд┐рд░ рднреА рдЖрдк рдЕрдкрдиреА рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЕрдкрдиреЗ DataFrame рдкрд░ set_index() рдХреЙрд▓ рдХрд░рдХреЗ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдЖрдЬрд╝рдорд╛рдПрдБ!
# Print out your DataFrame `df` to check it out
print(df)
# Set 'C' as the index of your DataFrame
df.set_index('C')
A B C
0 1 2 3
1 4 5 6
2 7 8 9

DataFrame рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдирд╛
рд╕рдорд╛рдзрд╛рди рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, loc рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╕рдордЭрдирд╛ рдФрд░ рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣ .iloc[] рдФрд░ .ix[] рдЬреИрд╕реЗ рдЕрдиреНрдп рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ:
- .loc[] рдЖрдкрдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд▓реЗрдмрд▓реНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдпрджрд┐ рдЖрдк loc[2] рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк DataFrame рдореЗрдВ рдЙрди рдорд╛рдиреЛрдВ рдХреЛ рдвреВрдБрдврддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд▓реЗрдмрд▓ 2 рд╣реИред
- .iloc[] рдЖрдкрдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдпрджрд┐ рдЖрдк iloc[2] рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк DataFrame рдореЗрдВ рдЙрди рдорд╛рдиреЛрдВ рдХреЛ рдвреВрдБрдврддреЗ рд╣реИрдВ рдЬреЛ рдЗрдВрдбреЗрдХреНрд╕ тАШ2тАЩ рдкрд░ рд╣реИрдВред
- .ix[] рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдорд▓рд╛ рд╣реИ: рдЬрдм рдЗрдВрдбреЗрдХреНрд╕ рдкреВрд░реНрдгрд╛рдВрдХ-рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк .ix[] рдХреЛ рдПрдХ рд▓реЗрдмрд▓ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рддрдм ix[2] рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдЙрди рдорд╛рдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд▓реЗрдмрд▓ 2 рд╣реИред рдпрд╣ .loc[] рдЬреИрд╕рд╛ рд╣реА рд╣реИ! рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдкрдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗрд╡рд▓ рдкреВрд░реНрдгрд╛рдВрдХ-рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ ix рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдмрд┐рд▓реНрдХреБрд▓ .iloc[] рдХреА рддрд░рд╣ред
рдпрд╣ рд╕рдм рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдПрдХ рдЫреЛрдЯреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ:
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), index= [2, 'A', 4], columns=[48, 49, 50])
# Pass `2` to `loc`
print(df.loc[2])
# Pass `2` to `iloc`
print(df.iloc[2])
48 1
49 2
50 3
Name: 2, dtype: int64
48 7
49 8
50 9
Name: 4, dtype: int64
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдпрд╛ рдЧрдпрд╛ DataFrame рдХреЗрд╡рд▓ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ рддрд╛рдХрд┐ рдлрд░реНрдХ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛред рдЖрдк рд╕рд╛рдлрд╝ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ .loc[] рдпрд╛ .iloc[]/.ix[] рдХреЛ 2 рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдЬреИрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдорд┐рд▓рддрд╛!
- рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ .loc[] рд▓реЗрдмрд▓ 2 рдкрд░ рдореМрдЬреВрдж рдорд╛рдиреЛрдВ рдХреЛ рджреЗрдЦреЗрдЧрд╛ред рдЬреЛ рдкрд░рд┐рдгрд╛рдо рдЖрдкрдХреЛ рдорд┐рд▓реЗрдЧрд╛, рд╡рд╣ рд╣реЛрдЧрд╛
48 1
49 2
50 3
- рдЖрдк рдпрд╣ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐
.iloc[]рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдЧрд╛ред рдЬрдм рдЖрдк2рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдорд┐рд▓реЗрдЧрд╛:
48 7
49 8
50 9
- рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗрд╡рд▓ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдирд╣реАрдВ рд╣реИ,
.ix[]рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ilocрдЬреИрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдЧрд╛ред рдЖрдкрдХреЛ.iloc[]рдЬреИрд╕рд╛ рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдЧрд╛ред
рдЕрдм рдЬрдм .iloc[], .loc[] рдФрд░ .ix[] рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ рдЖрдк рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ!
рдЯрд┐рдк: рдЙрдкрд░реНрдпреБрдХреНрдд рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдлрд╛рд░рд┐рд╢ рдпрд╣реА рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП .loc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк df.ix[] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рддреЛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдВрдбреЗрдХреНрд╕ рд╡реИрд▓реНрдпреВ рджреЗрдХрд░ рдЧрд▓рддреА рд╕реЗ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдкрдВрдХреНрддрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рджреЗрдВред рдЗрд╕рд╕реЗ рдмрдЪреЗрдВ!
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП DataFrame рдореЗрдВ рдЕрдВрддрд░ рдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рджреЗрдЦреЗрдВ:
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), index= [2.5, 12.6, 4.8], columns=[48, 49, 50])
# This will make an index labeled `2` and add the new values
df.loc[2] = [11, 12, 13]
print(df)
48 49 50
2.5 1 2 3
12.6 4 5 6
4.8 7 8 9
2.0 11 12 13
рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рдЙрд▓рдЭрдирднрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╣реИ рдирд╛?
рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛
рдХрднреА-рдХрднреА, рдЖрдк рдЕрдкрдирд╛ рдЗрдВрдбреЗрдХреНрд╕ рдЕрдкрдиреЗ DataFrame рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВтАФрдЕрдкрдиреЗ DataFrame рд╕реЗ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЛ рд▓реЗрдВ рдпрд╛ рдРрд╕реА рдХреЙрд▓рдо рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдВ рдЬреЛ рдЕрднреА рдмрдиреА рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрд╕реЗ .index рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░ рджреЗрдВ, рдЗрд╕ рддрд░рд╣:
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
тАЛ
# Use `.index`
df['D'] = df.index
тАЛ
# Print `df`
print(df)
A B C D
0 1 2 3 0
1 4 5 6 1
2 7 8 9 2
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк рдЕрдкрдиреЗ DataFrame рд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕реЗ рдХреЙрд▓рдо A рдХреЛ рдЕрдкрдирд╛ рдЗрдВрдбреЗрдХреНрд╕ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд╣реА рддрд░реАрдХрд╛ рдЕрдкрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдерд╛: .loc[] рдпрд╛ .iloc[] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк .loc[] рдХреА рдорджрдж рд╕реЗ рдПрдХ Series рдХреЛ рдореМрдЬреВрджрд╛ DataFrame рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
# Study the DataFrame `df`
print(df)
# Append a column to `df`
df.loc[:, 4] = pd.Series(['5', '6', '7'], index=df.index)
# Print out `df` again to see the changes
print(df)
A B C D
0 1 2 3 0
1 4 5 6 1
2 7 8 9 2
A B C D 4
0 1 2 3 0 5
1 4 5 6 1 6
2 7 8 9 2 7
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ Series рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛рдлреА рд╣рдж рддрдХ DataFrame рдХреА рдПрдХ рдХреЙрд▓рдо рдЬреИрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рд╕реА Series рдХреЛ рдореМрдЬреВрджрд╛ DataFrame рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рднреА рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ .loc[] рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рдХреА рдЧрдИ рдмрд╛рдд рдХреЙрд▓рдо рдЬреЛрдбрд╝рддреЗ рд╕рдордп рднреА рдорд╛рдиреНрдп рд░рд╣рддреА рд╣реИ!
рдЕрдкрдиреЗ DataFrame рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛
рдпрджрд┐ рдЖрдкрдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛, рддреЛ рдЖрдк рдЙрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ .reset_index() рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдЖрдк рдХрдИ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд░реАрд╕реЗрдЯ рдХреА рд╕рдлрд▓рддрд╛ рдХреЛ рдмрдирд╛ рдпрд╛ рдмрд┐рдЧрд╛рдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
# Check out the weird index of your dataframe
print(df)
# Use `reset_index()` to reset the values.
df_reset = df.reset_index(level=0, drop=True)
# Print `df_reset`
print(df_reset)
A B C D 4
0 1 2 3 0 5
1 4 5 6 1 6
2 7 8 9 2 7
A B C D 4
0 1 2 3 0 5
1 4 5 6 1 6
2 7 8 9 2 7
рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ drop рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХреЛ inplace рд╕реЗ рдмрджрд▓рдХрд░ рджреЗрдЦреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ!
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк drop рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк inplace рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ, рддреЛ рдлрд╝реНрд▓реЛрдЯреНрд╕ рд╡рд╛рд▓рд╛ рдореВрд▓ рдЗрдВрдбреЗрдХреНрд╕ рдЖрдкрдХреЗ DataFrame рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ред
4. Pandas DataFrame рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕, рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдпрд╛ рдХреЙрд▓рдо рдХреИрд╕реЗ рд╣рдЯрд╛рдПрдБ
рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕, рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ рдХреЙрд▓рдо рдЪреБрдирдирд╛ рд╡ рдЬреЛрдбрд╝рдирд╛ рджреЗрдЦ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдЕрдм рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рджреЗрдЦреЗрдВ: рдЗрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рд╣рдЯрд╛рдирд╛ред
рдЕрдкрдиреЗ DataFrame рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рд╣рдЯрд╛рдирд╛
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ DataFrame рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рджреЛрдмрд╛рд░рд╛ рд╕реЛрдЪреЗрдВ рдХреНрдпреЛрдВрдХрд┐ DataFrames рдФрд░ Series рдХреЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣реИ:
- рдЕрдкрдиреЗ DataFrame рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ (рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдкрд┐рдЫрд▓реЗ рд╕реЗрдХреНрд╢рди рдореЗрдВ рджреЗрдЦреЗрдВ) рдпрд╛
- рдпрджрд┐ рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ рдирд╛рдо рд╣реИ, рддреЛ рдЙрд╕реЗ
del df.index.nameрдЪрд▓рд╛рдХрд░ рд╣рдЯрд╛рдирд╛, - рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдорд╛рдиреЛрдВ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рд░реАрд╕реЗрдЯ рдХрд░рдХреЗ рд╣рдЯрд╛рдирд╛, рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдЗрдВрдбреЗрдХреНрд╕ рдХреЙрд▓рдо рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯреНрд╕ рдХреЛ рдбреНрд░реЙрдк рдХрд░рдирд╛ рдФрд░ рдЙрд╕ рдмрд┐рдирд╛-рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛
- рдФрд░ рдЖрдЦрд╝рд┐рд░ рдореЗрдВ, рдХрд┐рд╕реА рдЗрдВрдбреЗрдХреНрд╕тАФрдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐тАФрдХреЛ рд╣рдЯрд╛рдирд╛ред рдЗрд╕реЗ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЖрдЧреЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [40, 50, 60], [23, 35, 37]]),
index= [2.5, 12.6, 4.8, 4.8, 2.5],
columns=[48, 49, 50])
df.reset_index().drop_duplicates(subset='index', keep='last').set_index('index')

рдЕрдм рдЬрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЕрдкрдиреЗ DataFrame рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреИрд╕реЗ рд╣рдЯрд╛рдирд╛ рд╣реИ, рддреЛ рдЖрдк рдХреЙрд▓рдо рдФрд░ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛рдиреЗ рдкрд░ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ!
рдЕрдкрдиреЗ DataFrame рд╕реЗ рдХреЙрд▓рдо рд╣рдЯрд╛рдирд╛
рдЕрдкрдиреЗ DataFrame рд╕реЗ (рдЪреБрдиреЗ рд╣реБрдП) рдХреЙрд▓рдореНрд╕ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк drop() рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
# Check out the DataFrame `df`
print(df)
# Drop the column with label 'A'
df.drop('A', axis=1, inplace=True)
# Drop the column at position 1
df.drop(df.columns[[1]], axis=1)
A B C
0 1 2 3
1 4 5 6
2 7 8 9

рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ: рдпрд╣ рдЗрддрдирд╛ рд╕реАрдзрд╛-рд╕рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ; drop() рдореЗрдердб рдХреЛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рд╣реИрдВ!
axisрдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ 0 рд╣реЛ рддреЛ рдпрд╣ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдФрд░ 1 рд╣реЛ рддреЛ рдХреЙрд▓рдореНрд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред- рдЖрдк
inplaceрдХреЛ True рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ DataFrame рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдмрд┐рдирд╛ рдХреЙрд▓рдо рдбрд┐рд▓реАрдЯ рд╣реЛ рдЬрд╛рдПред
рдЕрдкрдиреЗ DataFrame рд╕реЗ рдкрдВрдХреНрддрд┐ рд╣рдЯрд╛рдирд╛
рдЖрдк рдЕрдкрдиреЗ DataFrame рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ df.drop_duplicates() рдЪрд▓рд╛рдХрд░ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдРрд╕реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рднреА рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЖрдк рдХреЗрд╡рд▓ рдХрд┐рд╕реА рдПрдХ рдХреЙрд▓рдо рдореЗрдВ рдореМрдЬреВрдж рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [40, 50, 60], [23, 35, 37]]),
index= [2.5, 12.6, 4.8, 4.8, 2.5],
columns=[48, 49, 50])
# Check out your DataFrame `df`
print(df)
# Drop the duplicates in `df`
df.drop_duplicates([48], keep='last')
48 49 50
2.5 1 2 3
12.6 4 5 6
4.8 7 8 9
4.8 40 50 60
2.5 23 35 37

рдпрджрд┐ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдирд┐рдХрдиреЗрд╕ рдорд╛рдирджрдВрдб рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк drop() рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЖрдк index рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗ рдпрд╣ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдЖрдк DataFrame рд╕реЗ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
# Check out the DataFrame `df`
print(df)
# Drop the index at position 1
df.drop(df.index[1])
48 49 50
2.5 1 2 3
12.6 4 5 6
4.8 7 8 9
4.8 40 50 60
2.5 23 35 37

рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред
рдЯрд┐рдк: рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк DataFrame рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдЦреБрдж рд░реАрд╕реЗрдЯ рдХрд░рдХреЗ рджреЗрдЦреЗрдВ! рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд▓рдЧреЗ рддреЛ drop рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред
5. Pandas DataFrame рдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдпрд╛ рдХреЙрд▓рдореНрд╕ рдХрд╛ рдирд╛рдо рдХреИрд╕реЗ рдмрджрд▓реЗрдВ
рдЕрдкрдиреЗ DataFrame рдХреА рдХреЙрд▓рдореНрд╕ рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдорд╛рдиреЛрдВ рдХреЛ рдЕрд▓рдЧ рдорд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, .rename() рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
# Check out your DataFrame `df`
print(df)
# Define the new names of your columns
newcols = {
'A': 'new_column_1',
'B': 'new_column_2',
'C': 'new_column_3'
}
# Use `rename()` to rename your columns
df.rename(columns=newcols, inplace=True)
# Rename your index
df.rename(index={1: 'a'})
A B C
0 1 2 3
1 4 5 6
2 7 8 9

рдЯрд┐рдк: рдкрд╣рд▓реЗ рдХрд╛рд░реНрдп (рдХреЙрд▓рдореНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛) рдореЗрдВ inplace рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХреЛ False рд╕реЗ рдмрджрд▓рдХрд░ рджреЗрдЦреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИред рдЕрдм рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреЙрд▓рдореНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓рддреЗ рд╕рдордп DataFrame рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдирддреАрдЬрддрди, рджреВрд╕рд░рд╛ рдХрд╛рд░реНрдп рдореВрд▓ DataFrame рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ, рди рдХрд┐ рд╡рд╣ рдЬреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реА rename() рдСрдкрд░реЗрд╢рди рд╕реЗ рдорд┐рд▓рд╛ рдерд╛ред
Pandas DataFrame рдХреА рдмреБрдирд┐рдпрд╛рдж рд╕реЗ рдЖрдЧреЗ
рдЕрдм рдЬрдм рдЖрдк Pandas рдХреЗ DataFrames рдкрд░ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рд╕реЗ рдЧреБрдЬрд╝рд░ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдЕрдм рдмреБрдирд┐рдпрд╛рдж рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд╛рде рдЧрдВрджреЗ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ DataFrames рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗрдХреНрд╢рди рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╣реИред
6. рдЕрдкрдиреЗ Pandas DataFrame рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдлреЙрд░реНрдореИрдЯ рдХрд░реЗрдВ
рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рд╕рдордп, рдЖрдк рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдирд┐рд╣рд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдиреЛрдВ рдкрд░ рдХреБрдЫ рдСрдкрд░реЗрд╢рдВрд╕ рднреА рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЕрдЧрд▓реЗ рд╕реЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ, рдЖрдк рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирд╕реЗ рдЖрдк рдЕрдкрдиреЗ pandas DataFrame рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдлреЙрд░реНрдореИрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
DataFrame рдореЗрдВ рдХрд┐рд╕реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рднреА рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдирд╛
рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдХреБрдЫ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ replace() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╡реЗ рдорд╛рди рдкрд╛рд╕ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╡реЗ рдорд╛рди рдЬрд┐рдирд╕реЗ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЗрд╕ рддрд░рд╣:
df = pd.DataFrame({"Student1":['OK','Awful','Acceptable'],
"Student2":['Perfect','Awful','OK'],
"Student3":['Acceptable','Perfect','Poor']})
# Study the DataFrame `df` first
print(df)
# Replace the strings by numerical values (0-4)
df.replace(['Awful', 'Poor', 'OK', 'Acceptable', 'Perfect'], [0, 1, 2, 3, 4])
Student1 Student2 Student3
0 OK Perfect Acceptable
1 Awful Awful Perfect
2 Acceptable OK Poor

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ regex рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рднреА рд╣реИ рдЬреЛ рдЕрдЬреАрдм рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╕рдордп рдмрд╣реБрдд рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
df = pd.DataFrame([["1\n", 2, "3\n"], [4, 5, "6\n"] ,[7, "8\n", 9]])
# Check out your DataFrame `df`
print(df)
# Replace strings by others with `regex`
df.replace({'\n': ''}, regex=True)
0 1 2
0 1\n 2 3\n
1 4 5 6\n
2 7 8\n 9

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЬрдм рдЖрдк рдЕрдкрдиреЗ DataFrame рдореЗрдВ рдорд╛рдиреЛрдВ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдиреНрдп рдорд╛рдиреЛрдВ рд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ replace() рдЕрдХреНрд╕рд░ рд╡рд╣реА рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ!
рдЕрдкрдиреЗ DataFrame рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рд╣рдЯрд╛рдирд╛
рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдЕрдирдЪрд╛рд╣реЗ рд╣рд┐рд╕реНрд╕реЗ рд╣рдЯрд╛рдирд╛ рдЭрдВрдЭрдЯ рдХрд╛ рдХрд╛рдо рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдХрд╛ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рд╣реИ!
df = pd.DataFrame([["+-1aAbBcC", "2", "+-3aAbBcC"], ["4", "5", "+-6aAbBcC"] ,["7", "+-8aAbBcC", "9"]])
# Check out your DataFrame
print(df)
# Delete unwanted parts from the strings in the first column
df[0] = df[0].map(lambda x: x.lstrip('+-').rstrip('aAbBcC'))
# Check out the result again
df
0 1 2
0 +-1aAbBcC 2 +-3aAbBcC
1 4 5 +-6aAbBcC
2 7 +-8aAbBcC 9

рдЖрдк рдХреЙрд▓рдо result рдкрд░ map() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд▓реИрдореНрдмреНрдбрд╛ рдлрдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓рдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдПрд▓рд┐рдореЗрдВрдЯ рдкрд░, рдпрд╛рдиреА рдПрд▓рд┐рдореЗрдВрдЯ-рд╡рд╛рдЗрдЬ, рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдлрдВрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдмрд╛рдПрдБ рд╕реНрдерд┐рдд + рдпрд╛ - рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рджрд╛рдПрдБ рдкрд░ рдореМрдЬреВрдж рдЫрд╣ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА aAbBcC рднреА рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
DataFrame рдореЗрдВ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдмрд╛рдБрдЯрдирд╛
рдпрд╣ рдХреБрдЫ рдЕрдзрд┐рдХ рдХрдард┐рди рдлреЙрд░реНрдореИрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдп рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд▓рд╛ рдХреЛрдб рдЦрдВрдб рдЖрдкрдХреЛ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕рдордЭрд╛рдПрдЧрд╛:
df = pd.DataFrame({"Age": [34, 22, 19],
"PlusOne":[0,0,1],
"Ticket":["23:44:55", "66:77:88", "43:68:05 56:34:12"]})
# Inspect your DataFrame `df`
print(df)
# Split out the two values in the third row
# Make it a Series
# Stack the values
ticket_series = df['Ticket'].str.split(' ').apply(pd.Series, 1).stack()
# Get rid of the stack:
# Drop the level to line up with the DataFrame
ticket_series.index = ticket_series.index.droplevel(-1)
print(ticket_series)
Age PlusOne Ticket
0 34 0 23:44:55
1 22 0 66:77:88
2 19 1 43:68:05 56:34:12
0 23:44:55
1 66:77:88
2 43:68:05
2 56:34:12
dtype: object
0
0 23:44:55
1 66:77:88
2 43:68:05
2 56:34:12

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдк рдпрд╣ рдХрд░рддреЗ рд╣реИрдВ:
- рдкрд╣рд▓реЗ, рдЖрдк рдЙрдкрд▓рдмреНрдз DataFrame рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЦрд┐рд░реА рдкрдВрдХреНрддрд┐ рдФрд░ рдЖрдЦрд┐рд░реА рдХреЙрд▓рдо рдХреЗ рдорд╛рди рдХреБрдЫ рдЬрд╝реНрдпрд╛рджрд╛ рд▓рдВрдмреЗ рд╣реИрдВред рд▓рдЧрддрд╛ рд╣реИ рджреЛ рдЯрд┐рдХрдЯ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдЕрддрд┐рдерд┐ рдиреЗ рдХрдВрд╕рд░реНрдЯ рдореЗрдВ рдкреНрд▓рд╕-рд╡рди рд▓рд╛рдпрд╛ рд╣реИред
- рдЖрдк DataFrame
dfрд╕реЗTicketрдХреЙрд▓рдо рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕реНрдкреЗрд╕ рдкрд░ рдмрд╛рдБрдЯрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдВрдд рдореЗрдВ рджреЛ рдЯрд┐рдХрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЖ рдЬрд╛рдПрдБред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрди рдЪрд╛рд░ рдорд╛рдиреЛрдВ (рдЪрд╛рд░ рдЯрд┐рдХрдЯ рдирдВрдмрд░реЛрдВ) рдХреЛ рдПрдХ Series рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ:
0 1
0 23:44:55 NaN
1 66:77:88 NaN
2 43:68:05 56:34:12
- рдпрд╣ рдЕрднреА рднреА рд╕рд╣реА рдирд╣реАрдВ рд▓рдЧрддрд╛ред рдЗрд╕рдореЗрдВ
NaNрдорд╛рди рд╣реИрдВ! рдирддреАрдЬрддрди Series рдореЗрдВ рдХрд┐рд╕реА рднреАNaNрдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд╕реЗ stack рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред - рдЕрдЧрд▓рд╛, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА Series рд╕реНрдЯреИрдХреНрдб рд╣реИред
0 0 23:44:55
1 0 66:77:88
2 0 43:68:05
1 56:34:12
- рдпрд╣ рднреА рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдк рд╕реНрддрд░ (level) рдХреЛ рдбреНрд░реЙрдк рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ DataFrame рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди-рдЕрдк рд╣реЛ рдЬрд╛рдП:
0 23:44:55
1 66:77:88
2 43:68:05
2 56:34:12
dtype: object
- рдпрд╣реА рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рддрд▓рд╛рд╢ рдереАред
- рдЕрдкрдиреА Series рдХреЛ DataFrame рдореЗрдВ рдмрджрд▓реЗрдВ рддрд╛рдХрд┐ рдЖрдк рдЙрд╕реЗ рдЕрдкрдиреЗ рд╢реБрд░реБрдЖрддреА DataFrame рд╕реЗ рдлрд┐рд░ рдЬреЛрдбрд╝ рд╕рдХреЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, DataFrame рдореЗрдВ рдХреЛрдИ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рди рд╣реЛрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдореВрд▓
TicketрдХреЙрд▓рдо рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдкрдиреЗ Pandas DataFrame рдХреА рдХреЙрд▓рдореНрд╕ рдпрд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдХреЛрдИ рдлрдВрдХреНрд╢рди рд▓рдЧрд╛рдирд╛
рдЖрдк рдЕрдкрдиреЗ DataFrame рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдХрд┐рд╕реА рдлрдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдЕрдкрдиреА рдЦреБрдж рдХреА рд▓реИрдореНрдмреНрдбрд╛ рдлрдВрдХреНрд╢рди рдмрдирд╛рдХрд░ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ:
doubler = lambda x: x*2
рдЯрд┐рдк: рдпрджрд┐ рдЖрдк Python рдореЗрдВ рдлрдВрдХреНрд╢рдВрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ Python functions рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВред
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
# Study the `df` DataFrame
print(df)
# Apply the `doubler` function to the `A` DataFrame column
df['A'].apply(doubler)
A B C
0 1 2 3
1 4 5 6
2 7 8 9
0 2
1 8
2 14
Name: A, dtype: int64
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ DataFrame рдХреА рдкрдВрдХреНрддрд┐ рдХреЛ рднреА рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ doubler рд▓реИрдореНрдмреНрдбрд╛ рдлрдВрдХреНрд╢рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдк .loc[] рдпрд╛ .iloc[] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдкрдВрдХреНрддрд┐ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред
рдлрд┐рд░, рдЖрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд░реЗрдВрдЧреЗ, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕рдХреЗ рд▓реЗрдмрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░:
df.loc[0].apply(doubler)
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ apply() рдлрдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдЖрдкрдХреЗ DataFrame рдХреЗ рдЕрдХреНрд╖ (axis) рдХреЗ рд╕рд╛рде doubler рдлрдВрдХреНрд╢рди рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдпрд╛ рддреЛ рдЗрдВрдбреЗрдХреНрд╕ рдпрд╛ рдХреЙрд▓рдореНрд╕тАФрдпрд╛рдиреА, рдкрдВрдХреНрддрд┐ рдпрд╛ рдХреЙрд▓рдотАФрдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрд▓рд┐рдореЗрдВрдЯ рдкрд░, рдпрд╛рдиреА рдПрд▓рд┐рдореЗрдВрдЯ-рд╡рд╛рдЗрдЬ, рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк map() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдЦрдВрдб рдореЗрдВ apply() рдлрдВрдХреНрд╢рди рдХреЛ map() рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдорд╛рдиреЛрдВ рдХреЛ 2 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЕрднреА рднреА doubler рдлрдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдк рдпрд╣ рдбрдмрд▓рд┐рдВрдЧ рдлрдВрдХреНрд╢рди рдХреЗрд╡рд▓ DataFrame рдХреА A рдХреЙрд▓рдо рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдкреВрд░реЗ DataFrame рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк applymap() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ doubler рдлрдВрдХреНрд╢рди рдХреЛ рдкреВрд░реЗ DataFrame рдХреЗ рд╣рд░ рдПрд▓рд┐рдореЗрдВрдЯ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:
doubled_df = df.applymap(doubler)
print(doubled_df)
A B C
0 2 4 6
1 8 10 12
2 14 16 18
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдордиреЗ рд▓реИрдореНрдмреНрдбрд╛ рдлрдВрдХреНрд╢рдВрд╕ рдпрд╛ рдЕрдирд╛рдо рдлрдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдмрдирддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдлрдВрдХреНрд╢рди рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
def doubler(x):
if x % 2 == 0:
return x
else:
return x * 2
# Use `applymap()` to apply `doubler()` to your DataFrame
doubled_df = df.applymap(doubler)
# Check the DataFrame
print(doubled_df)
A B C
0 2 2 6
1 4 10 6
2 14 8 18
рдпрджрд┐ рдЖрдк Python рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдлреНрд▓реЛ рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
7. рдЦрд╛рд▓реА DataFrame рдХреИрд╕реЗ рдмрдирд╛рдПрдВ
рдЖрдк рдЬрд┐рд╕ рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд╡рд╣ Pandas рдХрд╛ Dataframe() рдлрдВрдХреНрд╢рди рд╣реИ: рдпрд╣ рдЖрдкрд╕реЗ рд╡рд╣ рдбреЗрдЯрд╛, рдЗрдВрдбреЗрд╕реЗрдЬрд╝ рдФрд░ рдХреЙрд▓рдореНрд╕ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЛ рдХрд╣рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдореЗрдВ рдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рд╣реЛрдореЛтАНрдЬреАрдирд┐рдпрд╕ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ!
рдРрд╕реЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рдЗрд╕ рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦрд╛рд▓реА DataFrame рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк numpy.nan рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ NaN рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ numpy.nan рдХрд╛ рдЯрд╛рдЗрдк float рд╣реИред
df = pd.DataFrame(np.nan, index=[0,1,2,3], columns=['A'])
print(df)
A
0 NaN
1 NaN
2 NaN
3 NaN
рдЕрднреА, рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ infer рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреНрдпреЛрдВрдХрд┐ numpy.nan рдХрд╛ рдкреНрд░рдХрд╛рд░ float рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдореЗрдВ рднреА float рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рди рд╣реЛрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк dtype рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдЬреЛрдбрд╝рдХрд░ рдФрд░ рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ рднрд░рдХрд░ DataFrame рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣:
df = pd.DataFrame(index=range(0,4),columns=['A'], dtype='float')
print(df)
A
0 NaN
1 NaN
2 NaN
3 NaN
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЕрдХреНрд╖ рд▓реЗрдмрд▓ рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ (common sense) рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
8. рдбреЗрдЯрд╛ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдХреНрдпрд╛ Pandas рддрд╛рд░реАрдЦрд╝реЗрдВ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ?
Pandas рдЙрдиреНрд╣реЗрдВ рдкрд╣рдЪрд╛рди рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдереЛрдбрд╝реА рдорджрдж рдХрд░рдиреА рд╣реЛрддреА рд╣реИ: parse_dates рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ рдЬрдм рдЖрдк рдорд╛рди рд▓реАрдЬрд┐рдП, CSV (comma-separated value) рдлрд╝рд╛рдЗрд▓ рдкрдврд╝ рд░рд╣реЗ рд╣реЛрдВ:
import pandas as pd
pd.read_csv('yourFile', parse_dates=True)
# or this option:
pd.read_csv('yourFile', parse_dates=['columnName'])
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЬреАрдм рддрд╛рд░реАрдЦрд╝-рд╕рдордп рдлрд╝реЙрд░реНрдореИрдЯ рд╣рдореЗрд╢рд╛ рд╣реЛрддреЗ рд╣реИрдВред
рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ! рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рдЕрдкрдиреЗ рд╣рд┐рд╕рд╛рдм рдХрд╛ parser рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рдлрдВрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ DateTime рдХреЛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдлрд╝реЙрд░реНрдореИрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
import pandas as pd
dateparser = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
# Which makes your read command:
pd.read_csv(infile, parse_dates=['columnName'], date_parser=dateparse)
# Or combine two columns into a single DateTime column
pd.read_csv(infile, parse_dates={'datetime': ['date', 'time']}, date_parser=dateparse)
9. рдЕрдкрдиреЗ Pandas DataFrame рдХреЛ рдХрдм, рдХреНрдпреЛрдВ рдФрд░ рдХреИрд╕реЗ рд░реЗрд╢реЗрдк рдХрд░реЗрдВ
рдЕрдкрдиреЗ DataFrame рдХреЛ рд░реЗрд╢реЗрдк рдХрд░рдирд╛ рдпрд╛рдиреА рдЙрд╕реЗ рдЗрд╕ рддрд░рд╣ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдХрд┐ рдкрд░рд┐рдгрд╛рдореА рд╕рдВрд░рдЪрдирд╛ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рдЬрд╛рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд░реЗрд╢реЗрдкрд┐рдВрдЧ DataFrame рдореЗрдВ рдирд┐рд╣рд┐рдд рдорд╛рдиреЛрдВ рдХреЗ рдлреЙрд░реНрдореИрдЯрд┐рдВрдЧ рд╕реЗ рдХрдо рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдпрд╣ тАШрдХрдмтАЩ рдФрд░ тАШрдХреНрдпреЛрдВтАЩ рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЕрдкрдиреЗ DataFrame рдХреЛ рдХреИрд╕реЗ рд░реЗрд╢реЗрдк рдХрд░реЗрдВрдЧреЗ?
рддреАрди рддрд░рд╣ рдХреА рд░реЗрд╢реЗрдкрд┐рдВрдЧ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИрдВ: рдкрд┐рд╡реЛрдЯрд┐рдВрдЧ, рд╕реНрдЯреИрдХрд┐рдВрдЧ рдФрд░ рдЕрдирд╕реНрдЯреИрдХрд┐рдВрдЧ, рдФрд░ рдореЗрд▓реНрдЯрд┐рдВрдЧред
рдЕрдкрдиреЗ DataFrame рдХреЛ рдкрд┐рд╡реЛрдЯ рдХрд░рдирд╛
рдЖрдк pivot() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдореВрд▓ рдЯреЗрдмрд▓ рд╕реЗ рдПрдХ рдирдИ рд╡реНрдпреБрддреНрдкрдиреНрди рдЯреЗрдмрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдЗрд╕ рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рддреАрди рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
values: рдпрд╣ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рдореВрд▓ DataFrame рдХреЗ рдХреМрди рд╕реЗ рдорд╛рди рдЖрдк рдЕрдкрдиреА рдкрд┐рд╡реЛрдЯ рдЯреЗрдмрд▓ рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВредcolumns: рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рдЗрд╕рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдЖрдкрдХреА рдкрд░рд┐рдгрд╛рдореА рдЯреЗрдмрд▓ рдореЗрдВ рдХреЙрд▓рдо рдмрди рдЬрд╛рдПрдЧрд╛редindex: рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рдЗрд╕рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдЖрдкрдХреА рдкрд░рд┐рдгрд╛рдореА рдЯреЗрдмрд▓ рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдмрди рдЬрд╛рдПрдЧрд╛ред
# Import pandas
import pandas as pd
# Create your DataFrame
products = pd.DataFrame({'category': ['Cleaning', 'Cleaning', 'Entertainment', 'Entertainment', 'Tech', 'Tech'],
'store': ['Walmart', 'Dia', 'Walmart', 'Fnac', 'Dia','Walmart'],
'price':[11.42, 23.50, 19.99, 15.95, 55.75, 111.55],
'testscore': [4, 3, 5, 7, 5, 8]})
# Use `pivot()` to pivot the DataFrame
pivot_products = products.pivot(index='category', columns='store', values='price')
# Check out the result
print(pivot_products)
store Dia Fnac Walmart
category
Cleaning 23.50 NaN 11.42
Entertainment NaN 15.95 19.99
Tech 55.75 NaN 111.55
рдЬрдм рдЖрдк рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рднрд░рддреЗ рдХрд┐ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдгрд╛рдореА рдЯреЗрдмрд▓ рдореЗрдВ рдХрд┐рди рдорд╛рдиреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрдИ рдХреЙрд▓рдореНрд╕ рджреНрд╡рд╛рд░рд╛ рдкрд┐рд╡реЛрдЯ рдХрд░реЗрдВрдЧреЗ:
# Import the Pandas library
import pandas as pd
тАЛ
# Construct the DataFrame
products = pd.DataFrame({'category': ['Cleaning', 'Cleaning', 'Entertainment', 'Entertainment', 'Tech', 'Tech'],
'store': ['Walmart', 'Dia', 'Walmart', 'Fnac', 'Dia','Walmart'],
'price':[11.42, 23.50, 19.99, 15.95, 55.75, 111.55],
'testscore': [4, 3, 5, 7, 5, 8]})
тАЛ
# Use `pivot()` to pivot your DataFrame
pivot_products = products.pivot(index='category', columns='store')
тАЛ
# Check out the results
print(pivot_products)
price testscore
store Dia Fnac Walmart Dia Fnac Walmart
category
Cleaning 23.50 NaN 11.42 3.0 NaN 4.0
Entertainment NaN 15.95 19.99 NaN 7.0 5.0
Tech 55.75 NaN 111.55 5.0 NaN 8.0
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдореЗрдВ рдЙрди рдХреЙрд▓рдореНрд╕ рдХреЗ рд▓рд┐рдП рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рдиреЛрдВ рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрд░рд░ рдореИрд╕реЗрдЬ рдорд┐рд▓реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреА рдпреВрдирд┐рдХрдиреЗрд╕ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рддреЛ рдЖрдк pivot_table рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ:
# Import the Pandas library
import pandas as pd
# Your DataFrame
products = pd.DataFrame({'category': ['Cleaning', 'Cleaning', 'Entertainment', 'Entertainment', 'Tech', 'Tech'],
'store': ['Walmart', 'Dia', 'Walmart', 'Fnac', 'Dia','Walmart'],
'price':[11.42, 23.50, 19.99, 15.95, 19.99, 111.55],
'testscore': [4, 3, 5, 7, 5, 8]})
# Pivot your `products` DataFrame with `pivot_table()`
pivot_products = products.pivot_table(index='category', columns='store', values='price', aggfunc='mean')
# Check out the results
print(pivot_products)
store Dia Fnac Walmart
category
Cleaning 23.50 NaN 11.42
Entertainment NaN 15.95 19.99
Tech 19.99 NaN 111.55
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ pivot_table рдореЗрдердб рдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд aggfunc рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдПрдЧреНрд░реАрдЧреЗрд╢рди рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ mean рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
stack() рдФрд░ unstack() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЕрдкрдиреЗ Pandas DataFrame рдХреЛ рд░реЗрд╢реЗрдк рдХрд░рдирд╛
рдЖрдк рд╕реЗрдХреНрд╢рди 5 рдореЗрдВ рд╕реНрдЯреИрдХрд┐рдВрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВред рд╕рд╛рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдпрд╛рдж рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рдЖрдк рдХрд┐рд╕реА DataFrame рдХреЛ рд╕реНрдЯреИрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕реЗ рд▓рдВрдмрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдЖрдк рд╕рдмрд╕реЗ рднреАрддрд░реА рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╕рдмрд╕реЗ рднреАрддрд░реА рдкрдВрдХреНрддрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛ рджреЗрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдПрдХ рдРрд╕рд╛ DataFrame рд╡рд╛рдкрд╕ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдкрдВрдХреНрддрд┐ рд▓реЗрдмрд▓реНрд╕ рдХрд╛ рдирдпрд╛ рд╕рдмрд╕реЗ рдЕрдВрджрд░реВрдиреА рд╕реНрддрд░ рд╣реЛрддрд╛ рд╣реИред
Go back to the full walk-through in section 5 if youтАЩre unsure of the workings ofstack().
рд╕реНрдЯреИрдХрд┐рдВрдЧ рдХрд╛ рдЙрд▓реНрдЯрд╛ рдЕрдирд╕реНрдЯреИрдХрд┐рдВрдЧ рдХрд╣рд▓рд╛рддрд╛ рд╣реИред stack() рдХреА рддрд░рд╣, рдЖрдк unstack() рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдмрд╕реЗ рднреАрддрд░реА рдкрдВрдХреНрддрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╕рдмрд╕реЗ рднреАрддрд░реА рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред
pandas рдореЗрдВ рдкрд┐рд╡реЛрдЯрд┐рдВрдЧ, рд╕реНрдЯреИрдХрд┐рдВрдЧ рдФрд░ рдЕрдирд╕реНрдЯреИрдХрд┐рдВрдЧ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ Reshaping Data with pandas рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред
melt() рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ DataFrame рдХреЛ рд░реЗрд╢реЗрдк рдХрд░реЗрдВ
Melting рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдорд╛рдиреА рдЬрд╛рддреА рд╣реИ рдЬрд╣рд╛рдБ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреЙрд▓рдореНрд╕ рдкрд╣рдЪрд╛рди-рд╡реЗрд░рд┐рдПрдмрд▓ (identifier variables) рд╣реЛрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рд╕рднреА рдХреЙрд▓рдо рдорд╛рдк-рд╡реЗрд░рд┐рдПрдмрд▓ (measured variables) рдорд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдпреЗ рдорд╛рдк-рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╕рднреА рдкрдВрдХреНрддрд┐ рдЕрдХреНрд╖ рдкрд░ тАЬрдЕрдирдкрд┐рд╡реЛрдЯтАЭ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╛рдиреА, рдЬреЛ рдорд╛рдк-рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдкрд╣рд▓реЗ DataFrame рдХреА рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рдлреИрд▓реЗ рд╣реБрдП рдереЗ, melt рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдм рдЗрд╕рдХреА рдКрдБрдЪрд╛рдИ рдореЗрдВ рдЖ рдЬрд╛рдПрдБред рдпрд╛, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдкрдХрд╛ DataFrame рдЕрдм рдЪреМрдбрд╝рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд▓рдВрдмрд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдирддреАрдЬрддрди, рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдЧреИрд░-рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ рдХреЙрд▓рдо рд╣реЛрдВрдЧреЗ, рдпрд╛рдиреА тАШvariableтАЩ рдФрд░ тАШvalueтАЩред
рдЗрд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ:
# The `people` DataFrame
people = pd.DataFrame({'FirstName' : ['John', 'Jane'],
'LastName' : ['Doe', 'Austen'],
'BloodType' : ['A-', 'B+'],
'Weight' : [90, 64]})
# Use `melt()` on the `people` DataFrame
print(pd.melt(people, id_vars=['FirstName', 'LastName'], var_name='measurements'))
FirstName LastName measurements value
0 John Doe BloodType A-
1 Jane Austen BloodType B+
2 John Doe Weight 90
3 Jane Austen Weight 64
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рд░реЗрд╢реЗрдк рдХрд░рдиреЗ рдХреЗ рдФрд░ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИрдВ, рддреЛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рджреЗрдЦреЗрдВред
10. Pandas DataFrame рдкрд░ рдЗрдЯрд░реЗрдЯ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдЖрдк рдЕрдкрдиреЗ DataFrame рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ for рд▓реВрдк рдФрд░ iterrows() рдХреЙрд▓ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдЗрдЯрд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
for index, row in df.iterrows() :
print(row['A'], row['B'])
1 2
4 5
7 8
iterrows() рдЖрдкрдХреЛ рдЕрдкрдиреЗ DataFrame рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ (index, Series) рдкреЗрдпрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реВрдк рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдЖрдкрдХреЛ (index, row) рдЯреНрдпреВрдкрд▓реНрд╕ рджреЗрддрд╛ рд╣реИред
11. Pandas DataFrame рдХреЛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ
рдЬрдм рдЖрдк Pandas рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдордиреНрдЬрд┐рдВрдЧ рдФрд░ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк DataFrame рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝реЙрд░реНрдореИрдЯ рдореЗрдВ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реЗрдХреНрд╢рди рдЖрдкрдХреЗ pandas DataFrame рдХреЛ CSV рдпрд╛ Excel рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛ред
DataFrame рдХреЛ CSV рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ
DataFrame рдХреЛ CSV рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк to_csv() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
import pandas as pd
df.to_csv('myDataFrame.csv')
рдпрд╣ рдХреЛрдб рдХрд╛рдлрд╝реА рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣реАрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓реЗрдВ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реЛрдВрдЧреАред рд╢рд╛рдпрдж рдЖрдк рдХреЙрдорд╛ рдХреЛ рдбрд┐рд▓рд┐рдорд┐рдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ, рдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдПрдирдХреЛрдбрд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ! рдЖрдк to_csv() рдХреЛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛ!
- рдЯреИрдм рд╕реЗ рдбрд┐рд▓рд┐рдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
sepрдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
import pandas as pd
df.to_csv('myDataFrame.csv', sep='\t')
- рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреИрд░реЗрдХреНрдЯрд░ рдПрдирдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
encodingрдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
import pandas as pd
df.to_csv('myDataFrame.csv', sep='\t', encoding='utf-8')
- рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдкрдиреЗ
NaNрдпрд╛ missing рдорд╛рдиреЛрдВ рдХреЛ рдХреИрд╕реЗ рджрд░реНрд╢рд╛рдирд╛ рд╣реИ, рд╣реЗрдбрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдкрдВрдХреНрддрд┐ рдирд╛рдо рд▓рд┐рдЦрдиреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ, рдХрдВрдкреНрд░реЗрд╢рди рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВтАФрдЖрдк рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
DataFrame рдХреЛ Excel рдореЗрдВ рд▓рд┐рдЦрдирд╛
рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдЖрдкрдиреЗ DataFrame рдХреЛ CSV рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд┐рдпрд╛, рдЖрдк to_excel() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдЯреЗрдмрд▓ рдХреЛ Excel рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ:
import pandas as pd
writer = pd.ExcelWriter('myDataFrame.xlsx')
df.to_excel(writer, 'DataFrame')
writer.save()
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐, to_csv() рдХреА рддрд░рд╣, рдпрд╣рд╛рдБ рднреА рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ startcol, startrow рдЖрджрд┐, рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХреЗрдВред рдЖрдк рд╣рдорд╛рд░реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдпрд╣ рднреА рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ pandas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CSV рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдЗрдВрдкреЛрд░реНрдЯ рдФрд░ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдВред┬а
рдпрджрд┐, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк Pandas рдореЗрдВ IO рдЯреВрд▓реНрд╕ рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ pandas рдХреА DataFrames to Excel рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рджреЗрдЦреЗрдВред
рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдХреЗ рд▓рд┐рдП Python, рдХреЗрд╡рд▓ DataFrames рд╕реЗ рдмрдврд╝рдХрд░ рд╣реИ
рдпрд╣реА рд╕рдм! рдЖрдкрдиреЗ Pandas DataFrame рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ!
Pandas рдкрд░ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ 11 рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рд╡реЗ рдореВрд▓рднреВрдд рдлрд╝рдВрдХреНрд╢рдВрд╕ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЗрдВрдкреЛрд░реНрдЯ, рд╕рдлрд╛рдИ рдФрд░ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рд╣реЗрддреБ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрдХреАрди рдирд╣реАрдВ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЧрд╣рд░рд╛рдИ рддрдХ рджреЗрдЦрд╛ рд╣реИ? рд╣рдорд╛рд░рд╛ Importing Data In Python рдХреЛрд░реНрд╕ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧрд╛! рдпрджрд┐ рдЖрдкрдиреЗ рдпрд╣рд╛рдБ рдХреА рдмрд╛рддреЛрдВ рдХреЛ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Pandas рдХреЛ рдХрд╛рдо рдХрд░рддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред Importance of Preprocessing in Data Science and the Machine Learning Pipeline рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЕрд╡рд╢реНрдп рдкрдврд╝реЗрдВ, рдФрд░ рдУрдкрди рдХреЛрд░реНрд╕ Introduction to Python & Machine Learning рдЬрд╝рд░реВрд░ рдкреВрд░рд╛ рдХрд░реЗрдВред
Pandas рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп Python рдкреИрдХреЗрдЬ рд╣реИ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╕реЗ: рдпрд╣ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдкреВрд░реНрдг рдФрд░ рд▓рдЪреАрд▓реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИрдВ, рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред DataFrame рдЗрдиреНрд╣реАрдВ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ pandas DataFrames рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИтАФрдмреЗрд╕рд┐рдХ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рд╕реЗ рд▓реЗрдХрд░ рдЙрдиреНрдирдд рдСрдкрд░реЗрд╢рдВрд╕ рддрдХтАФрдФрд░ 11 рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд▓реЗрдХрд░ рдЪрд▓рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк Python рд╕рдореБрджрд╛рдп рдХреЗ рдкрд╣рд▓реЗ рдХреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЙрд▓рдЭрдиреЛрдВ рдХреЛ рд╕рдордЭреЗрдВтАФрдФрд░ рдЙрдирд╕реЗ рдмрдЪреЗрдВред
рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП, рдЗрд╕ Pandas DataFrames рдХреЛрд░реНрд╕ рдХрд╛ рдкрд╣рд▓рд╛ рдЕрдзреНрдпрд╛рдп рдореБрдлреНрдд рдореЗрдВ рдЖрдЬрд╝рдорд╛рдПрдБ!
Pandas DataFrames рдХреНрдпрд╛ рд╣реИрдВ?
рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЬрд▓реНрджреА рд╕реЗ рдпрд╣ рджреЛрд╣рд░рд╛ рд▓реЗрдВ рдХрд┐ DataFrames рдХреНрдпрд╛ рд╣реЛрддреЗ рд╣реИрдВред
рдЬреЛ R рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╡реЗ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдЖрдпрддрд╛рдХрд╛рд░ рдЧреНрд░рд┐рдб рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд╡рд▓реЛрдХрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрди рдЧреНрд░рд┐рдб рдХреА рд╣рд░ рдкрдВрдХреНрддрд┐ рдХрд┐рд╕реА рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдорд╛рдкрди рдпрд╛ рдорд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рд╣рд░ рдХреЙрд▓рдо рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдбреЗрдЯрд╛ рд╡рд╛рд▓рд╛ рдПрдХ рд╡реЗрдХреНрдЯрд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рди рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ; рд╡реЗ рдиреНрдпреВрдореЗрд░рд┐рдХ, рдХреИрд░реЗрдХреНрдЯрд░, рд▓реЙрдЬрд┐рдХрд▓ рдЖрджрд┐ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм, Python рдореЗрдВ DataFrames рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИрдВ: рд╡реЗ pandas рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ, рдФрд░ рдЗрдиреНрд╣реЗрдВ рджреЛ-рдЖрдпрд╛рдореА рд▓реЗрдмрд▓реНрдб рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдХреА рдХреЙрд▓рдо рдЯрд╛рдЗрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ pandas DataFrame рддреАрди рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рд╕реЗ рдмрдирд╛ рд╣реЛрддрд╛ рд╣реИ: рдбреЗрдЯрд╛, рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рдХреЙрд▓рдоред
DataFrameSeries: рдПрдХ-рдЖрдпрд╛рдореА рд▓реЗрдмрд▓реНрдб рдРрд░реЗ рдЬреЛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рдПрдХреНрд╕рд┐рд╕ рд▓реЗрдмрд▓ рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рд░рдЦ рд╕рдХрддрд╛ рд╣реИред Series рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг DataFrame рдХреА рдПрдХ рдХреЙрд▓рдо рд╣реИредndarray, рдЬреЛ record рдпрд╛ structured рд╣реЛ рд╕рдХрддрд╛ рд╣реИndarrayndarray, рд▓рд┐рд╕реНрдЯ, рдбрд┐рдХреНрд╢рдирд░реА рдпрд╛ Series рдХреА рдбрд┐рдХреНрд╢рдирд░реАредрдиреЛрдЯ
np.ndarrayрдФрд░np.array()рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░: рдкрд╣рд▓рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рд╕реЗ рдРрд░реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдлрдВрдХреНрд╢рди рд╣реИредStructured arrays рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирд╛рдорд┐рдд рдлрд╝реАрд▓реНрдб рдХреЗ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рджреЗрддреА рд╣реИрдВ: рдиреАрдЪреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рддреАрди рдЯреНрдпреВрдкрд▓реНрд╕ рдХрд╛ рдПрдХ structured рдРрд░реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд░ рдЯреНрдпреВрдкрд▓ рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡
fooрдХрд╣рд▓рд╛рдПрдЧрд╛ рдФрд░ рдЯрд╛рдЗрдкintрд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛ рддрддреНрд╡barрдХрд╣рд▓рд╛рдПрдЧрд╛ рдФрд░ float рд╣реЛрдЧрд╛редрджреВрд╕рд░реА рдУрд░, record arrays structured arrays рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреА рд╣реИрдВред рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдлрд╝реАрд▓реНрдбреНрд╕ рддрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрдЬрд╛рдп рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдХреЗ рдЬрд╝рд░рд┐рдП рдкрд╣реБрдБрдЪрдиреЗ рджреЗрддреА рд╣реИрдВред рдиреАрдЪреЗ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐
r2record array рдореЗрдВfooрдорд╛рдиреЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдЙрджрд╛рд╣рд░рдг:
рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА Pandas DataFrames рдФрд░ рдЙрдирдХреА рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ, рдЬреИрд╕реЗ NumPy array рдпрд╛ Series, рд╕реЗ рднрд┐рдиреНрдирддрд╛ рдкрд░ рд╕рдВрджреЗрд╣ рд╣реИ, рддреЛ рдЖрдк рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЫреЛрдЯрд╛ рдкреНрд░реЗрдЬрд╝реЗрдВрдЯреЗрд╢рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдЬрдЧрд╣реЛрдВ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХреА рдЧрдИ рд╣реИрдВред Pandas рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдорддреМрд░ рдкрд░
pdрдЙрдкрдирд╛рдо рдХреЗ рд╕рд╛рде рдФрд░ NumPy рд▓рд╛рдЗрдмреНрд░реЗрд░реАnpрдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдЗрдВрдкреЛрд░реНрдЯ рд╕реНрдЯреЗрдк рдХреЛ рднреВрд▓реЗрдВ рдирд╣реАрдВ, рдЬреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ:рдЕрдм рдЬрдм DataFrames рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╡реЗ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╡реЗ рдЕрдиреНрдп рд╕рдВрд░рдЪрдирд╛рдУрдВ рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИрдВтАФрдЗрди рд╕рдм рдкрд░ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдордп рд╣реИ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХрд╛!