时间:2022-09-01 09:26:56 | 栏目:Python代码 | 点击:次
函数原型:
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
Series
不同属性之间的计算,返回一个结果,则apply函数DataFrame
的数据,最后将所有结果组合成一个Series
数据结构groupby
函数一起使用,如下图所示:对指定列进行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x-1 print(data) print(data.ix[:,['1','2']].apply(f)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 1 2 0 0 1 1 4 5 2 8 9 3 12 13
对行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x-1 print(data) print(data.ix[[0,1],:].apply(f)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 0 1 2 3 0 -1 0 1 2 1 3 4 5 6
整体对列操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x.max() print(data) print(data.apply(f)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 0 12 1 13 2 14 3 15 dtype: int64
整体对行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x.max() print(data) print(data.apply(f,axis=1)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 0 3 1 7 2 11 3 15 dtype: int64