pandas 聚合函數agg

今天看到pandas的聚合函數agg,比較陌生,平時的工作中處理數據的時候使用的也比較少,爲了加深印象,總結一下使用的方法,其實還是挺好用的。

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

func : 函數,函數名稱,函數列表,字典{‘行名/列名’,‘函數名’}

使用指定軸上的一個或多個操作進行聚合。

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)

在行上聚合這些函數

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


每列不同的聚合

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

注:當某列沒有其他聚合函數時,則用NaN填充。



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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章