pandas.apply函数是Python在机器学习处理数据时常用的一个方法。apply函数会自动遍历每一行DataFrame的数据,最后将所有结果组合成一个Series数据结构并返回。该函数定义如下:
DataFrame.apply(self, func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds)
其中,func 参数是函数名,相当于C/C++的函数指针。func函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据,结构传入给func函数中,这样会在定义的func函数中实现对Series不同属性之间的计算,返回结果。
具体定义请参考:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html
以下为一些例子:
df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])
df
A B
0 4 9
1 4 9
2 4 9
df.apply(np.sqrt)
A B
0 2.0 3.0
1 2.0 3.0
2 2.0 3.0
df.apply(np.sum, axis=0)
A 12
B 27
dtype: int64
df.apply(np.sum, axis=1)
0 13
1 13
2 13
dtype: int64