apply函数主要用于对DataFrame中的行或者列进行特定的函数计算。
>>> df = pd.read_excel(r'D:/myExcel/1.xlsx')
>>> df
A B C
0 1 12 45
1 1 15 23
2 1 34 88
3 1 98 23
# 下面将会对每一列求平均值
>>> df.apply(np.mean)
A 1.00
B 39.75
C 44.75
# 当指定axis=1时,将会对每行进行求平均计算
>>> df.apply(np.mean, axis=1)
0 19.333333
1 13.000000
2 41.000000
3 40.666667
# 接受自定义的匿名函数
>>> df.apply(lambda x : x.max() - x.mean())
A 0.00
B 58.25
C 43.25
dtype: float64
# 如果没有使用聚集函数,将会对df每个值进行运算
>>> df.apply(lambda x : x + 1)
A B C
0 2 13 46
1 2 16 24
2 2 35 89
3 2 99 24
# 自定义的函数及其传参方式
>>> def subtract_and_divide(x, sub, divide=1):
return (x - sub) / divide
>>> df.apply(subtract_and_divide, args=(5,), divide=3)
A B C
0 -1.333333 2.333333 13.333333
1 -1.333333 3.333333 6.000000
2 -1.333333 9.666667 27.666667
3 -1.333333 31.000000 6.000000
# 仅对部分列进行操作
>>> df[['A', 'B']].apply(subtract_and_divide, args=(5,), divide=3)
A B
0 -1.333333 2.333333
1 -1.333333 3.333333
2 -1.333333 9.666667
3 -1.333333 31.000000
哈哈,以上就是pandas关于apply函数的介绍,有兴趣的话欢迎关注:python小工具。一起学习python和pandas