agg,apply 和transform 都可以对dataframe进行运算,下面对这三种方法做一下比较:
作用:
dataframe.agg():只做聚合操作
dataframe.apply() 作用对象是dataframe
dataframe.transform()对dataframe的每个series做transform操作,返回的结构与原dataframe一致
可接受的func类型:
agg:可同时运用多个聚合函数,或为各列分配不同的聚合函数
apply():跟自定义函数,包括简单的求和函数以及复杂series间的交互函数,不能直接使用agg()函数和python内置函数,例如sum、max、min、'count‘等方法
transform(): 不能跟自定义的series间交互函数。
EXAMPLES
dataframe.agg() :
#对dataframe同时运用多个聚合函数
df = pd.DataFrame([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[np.nan, np.nan, np.nan]],
columns=['A', 'B', 'C'])
输出:
df.agg(['sum', 'min'])
A B C
sum 12.0 15.0 18.0
min 1.0 2.0 3.0
#对dataframe指定列进行