apply函数是pandas中极其好用的一个函数,它可以对dataframe在行或列方向上进行批量化处理,从而大大简化数据处理的过程。
apply函数的基本形式:
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
我们最常用前两个参数,分别是运算函数和运算的轴。
在运算函数并不复杂的情况下,第一个参数通常使用lambda函数。当函数复杂时可以另外写一个函数来调用。下面通过一个实例来说明:
应用案例:
import pandas as pd
df = pd.DataFrame({'A':[3,1,4,1,5,9,None,6],
'B':[1,2,3,None,5,6,7,8]})
d = df.apply(lambda x: x.fillna(x.mean()))
处理前的数据:
处理后的数据:
可以看到通过apply对nan值进行了均值填充
在默认情况下,axis参数值为0,表示在行方向上进行特定的函数运算,即对每一列进行运算。
我们可以设置axis=1来进行列方向上的运算。例如我将上例