pandas数据处理分组聚合
生活随笔
收集整理的這篇文章主要介紹了
pandas数据处理分组聚合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import pandas as pd
import numpy as np
# 加載數據
users = pd.read_excel("./users.xlsx")
print("users:\n",users)
print("users 的列索引:\n",users.columns)print("users 的數據類型:\n",users.dtypes)# 根據班級分組、統計學員的班級的平均年齡
# groupby 分組
# by ---指定分組的列,可以是單列 也可以是多列
res = users.groupby(by='ORGANIZE_NAME')['age'].mean()
# 按照單列進行分組,統計多個列的指標
res = users.groupby(by='ORGANIZE_NAME')[['age','USER_ID']].mean()
res = users.groupby(by=['ORGANIZE_NAME','poo','sex'])['age'].mean()
res=users.groupby(by=['ORGANIZE_NAME','poo','sex'])['age'].mean()
print(res)# 利用agg
# 進行同時對age 求平均值、對userid 求最大值
# 只需要指定 np.方法名
print(users.agg({'age':np.mean,'USER_ID':np.max}))# 對age 和 USER_ID 同時分別求 和 和均值
print(users[['age','USER_ID']].agg([np.sum,np.mean]))# 對age USER_ID 求取不同個數的統計指標
print(users.agg({'age':np.min,'USER_ID':[np.mean,np.sum]}))def hh(x):return x+1# 自定義函數進行計算
res = users['age'].apply(hh)
res = users[['age','USER_ID']].apply(lambda x:x+1)
res = users['age'].transform(lambda x:x+1)
# 不能進行跨列的運算
print(res)
res=users[['age','USER_ID']].apply(lambda x:x+1)
res=users[['age','USER_ID']].apply(lambda x:x+1)
?
總結
以上是生活随笔為你收集整理的pandas数据处理分组聚合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 根据数据建立分析模型是什么意思
- 下一篇: 无监督学习与监督学习的区别