切片
'''
loc:标签,索引
iloc:索引
'''
df.loc[1,1:3]#第一行,前2列
df.loc[:,1:3]#所有行,前2列
df.loc[:-1,-3:]#第一到倒数第二行,后3列
函数映射
df1=pd.DataFrame(np.random.randn(3,4),columns=list('dcbe'))
'''
d c b e
0 -0.032674 -0.267200 0.788107 -0.150488
1 -0.020137 0.581021 0.982505 1.044859
2 0.509123 1.811742 -0.880502 0.682232
'''
f=lambda x:abs(x)
print(df1.apply(f))
'''
d c b e
0 0.062587 1.587796 0.066560 1.446720
1 0.009803 0.651271 0.323897 1.158234
2 0.552796 2.462720 0.457245 1.415369
'''
排序
1.sort_index()
'''
参数:axis
ascending,缺省True升序
by,条件,指定列名或索引值,可以为多列或多索引
inplace:是否用排序后的数据集替换原来的数据,默认为False,即不替换
na_position:first,last,设定缺失值的显示位置
level=None,支持负索引,-1代表最里面一层
'''
data=np.random.randint(100,size=12).reshape(3,4)
df1=pd.DataFrame(data,index=list('cba'),columns=range(4))
df2=df1.sort_index()
print(df2)
'''
0 1 2 3
a 37 42 94 33
b 88 93 89 67
c 65 11 13 97
'''
2.sort_values()
'''
参数:
by:指定列名或索引值
axis:若axis=0,则按照指定列中数据大小排序;若axis=1,则按照指定索引中数据大小排序,默认axis=0
ascending,缺省True升序
inplace:是否用排序后的数据集替换原来的数据,默认为False,即不替换
na_position:first,last,设定缺失值的显示位置
'''
data=np.random.randint(100,size=12).reshape(3,4)
df1=pd.DataFrame(data,columns=list('abcd'))
df1.sort_values(by=['a'],inplace=True)
print(df1)
'''
a b c d
2 54 54 64 70
0 85 66 35 17
1 89 24 34 24
'''
观察方法
df.describe()
'''
A B C D
count 6.000000 6.000000 6.000000 6.000000 #数量
mean 0.073711 -0.431125 -0.687758 -0.233103 #平均值
std 0.843157 0.922818 0.779887 0.973118 #标准差
min -0.861849 -2.104569 -1.509059 -1.135632 #最小值
25% -0.611510 -0.600794 -1.368714 -1.076610 #正态分布 25%
50% 0.022070 -0.228039 -0.767252 -0.386188 #正态分布 50%
75% 0.658444 0.041933 -0.034326 0.461706 #正态分布 75%
max 1.212112 0.567020 0.276232 1.071804 #最大值
'''
df.head():默认前五行
df.tail(3):默认后五行