pandas运算、排序、排名
来源:互联网 发布:提升心理承受能力知乎 编辑:程序博客网 时间:2024/05/19 02:05
import pandas as pdimport numpy as np#Series运算s1=pd.Series([7.3,-2.5,3.4,1.5],index=['a','c','d','e'])s2=pd.Series([-2.1,3.6,-1.5,4,3.1],index=['a','c','e','f','g'])print(s1+s2)print(s1.add(s2,fill_value=0))#加法#DataFrame运算df1=pd.DataFrame(np.arange(9).reshape((3,3,)),columns=list('bcd'),index=['aa','bb','cc'])df2=pd.DataFrame(np.arange(12).reshape((4,3)),columns=list('bde'),index=['aa','dd','bb','ee'])print(df1+df2)print(df1.sub(df2))#减法#广播arr=np.arange(12).reshape((3,4))print(arr)print(arr-arr[0])#按列方向传播frame=pd.DataFrame(np.arange(9).reshape(3,3),index=['aa','bb','cc'],columns=['a','b','c'])print(frame)series1=frame['b']print(series1)print(frame.sub(series1,axis=0))print('======================================')#Series索引排序obj=pd.Series(range(4),index=['d','a','b','c'])print(obj)print(obj.sort_index())#DataFrame索引排序frame=pd.DataFrame(np.arange(8).reshape((2,4)),index=['three','one'],columns=['d','a','b','c'])print(frame)print(frame.sort_index(axis=1))#按columns排序print(frame.sort_index(axis=1,ascending=False))#降序obj=pd.Series([4,7,-3,2])#obj.order()frame=pd.DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1]})print(frame)print(frame.sort_values(by='b'))#按某列数值排序#排名obj=pd.Series([7,-5,7,4,2,0,4])print(obj.rank())print(obj.rank(method='first'))print(obj.rank(ascending=False,method='min'))frame=pd.DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1],'c':[-2,5,8,-2]})print(frame)print(frame.rank(axis=1))#按行排名
阅读全文