pandas 聚合函数agg

今天看到pandas的聚合函数agg,比较陌生,平时的工作中处理数据的时候使用的也比较少,为了加深印象,总结一下使用的方法,其实还是挺好用的。

DataFrame.agg(funcaxis = 0* args** kwargs 

func : 函数,函数名称,函数列表,字典{‘行名/列名’,‘函数名’}

使用指定轴上的一个或多个操作进行聚合。

pandas 聚合函数agg

agg是一个聚合函数,聚合函数操作始终是在轴(默认是列轴,也可设置行轴)上执行,不同于 numpy聚合函数(np.sum() //求和;np.prod() //所有元素相乘;np.mean() //平均值;np.std() //标准差;np.var() //方差;np.median() //中数;np.power() //幂运算;np.sqrt() //开方;np.min() //最小值;np.max() //最大值;np.argmin() //最小值的下标;np.argmax() //最大值的下标;np.inf //无穷大;np.exp(10) //以e为底的指数;np.log(10) //对数)


下面示例展示agg具体用法:

定义一个列表值:

import pandasas pd

df=pd.DataFrame([[1,2,3,4],

                              [11,22,33,44],

                              [111,222,333,444],

                              [1111,2222,3333,4444]

                              ],

                             columns=['col1','col2','col3','col4'],)#列名

print(df)

pandas 聚合函数agg

在行上聚合这些函数

df_arows=df.agg(['max','min','mean'])


          col1       col2     col3       col4

max  1111.0  2222.0  3333.0  4444.0

min      1.0    2.0    3.0    4.0

mean  308.5  617.0  925.5  1234.0

pandas 聚合函数agg


每列不同的聚合

df_columns=df.agg({'col1':['sum','min'],'col2':['max','min'],'col3':['sum','min']})

          col1      col2       col3

max    NaN  2222.0    NaN

min    1.0       2.0         3 .0

sum  1234.0    NaN  3702.0

pandas 聚合函数agg

注:当某列没有其他聚合函数时,则用NaN填充。



参考:https://www.jianshu.com/p/f37ac2a7b6dc