pandas_分組聚合_groupby和agg的區別

pandas_分組聚合_groupby和agg的區別

對特定字段進行聚合操作

對多個字段進行分組

對多個字段進行分組,多個字段進行聚合運算

數據地址:鏈接: https://pan.baidu.com/s/1A42jbAVw90AKqgfK2dpddg 提取碼: jxth

import pandas
data = pandas.read_csv(
'C:/data/data/data.csv',
 engine='python',
 encoding='utf8'
)
data.head()
id	reg_date	id_num	gender	birthday	age
0	100000	2011/1/1	15010219621116401I	男	1962/11/16	52
1	100001	2011/1/1	45092319910527539E1991/5/27	23
2	100002	2011/1/1	35010319841017421J1984/10/17	30
3	100006	2011/1/1	37110219860824751B1986/8/24	28
4	100010	2011/1/1	53042219860714031J1986/7/14	28
# 先來統計按性別分組的用戶數,輸入以下代碼
data.groupby('gender').count()
id	reg_date	id_num	birthday	age
gender					
女	4316	4316	4316	4316	431654785	54785	54785	54785	54785
# 然後再來統計按性別分組的平均值,輸入以下代碼
data.groupby('gender').mean()
id	age
gender		
女	149779.770853	30.392493149833.467829	26.979629
# 它又根據所有能統計的列都統計了結果。如果我只是僅僅希望按性別分組統計下用戶數,以及按性別分組統計用戶的平均年齡,那我該如何做呢?# Mr.林:這個時候可以使用groupby與agg函數組合進行統計。# 對特定字段進行聚合操作
data.groupby('gender')['id'].agg('count')
gender
女     431654785
Name: id, dtype: int64
# 然後再來按性別分組統計年齡的平均值,輸入以下代碼
data.groupby('gender')['age'].agg('mean')
gender
女    30.39249326.979629
Name: age, dtype: float64
# 小白突然又想到一個問題:那我能不能在性別分組的基礎上,再加入一個分組列,比如將註冊日期加到分組列裏?
# Mr.林:這可以有,只要在gender前面再加入reg_date,如果還有其他分組列可以繼續加入,用逗號分隔即可,輸入以下代碼# 對多個字段進行分組
data.groupby(['reg_date','gender'])['id'].agg('count').head()
reg_date   gender
2011/1/110
2011/1/106160
2011/1/1115165
Name: id, dtype: int64
# 那我能不能對多個列進行統計呢?現在只對id列進行統計,如果再把age列加進來,可以麼?# Mr.林:這個同樣可以有,不過如果還是計數的話,對id、age兩列統計的結果是一樣的,我們換成平均值統計試試,輸入以下代碼
# 對多個字段進行分組,多個字段進行聚合運算
data.groupby(['reg_date','gender'])['id','age'].agg('mean').head()
id	age
reg_date	gender		
2011/1/1100008.600000	29.200000
2011/1/10101276.500000	36.333333101295.262500	26.862500
2011/1/11101617.400000	31.400000101590.054545	26.636364

貼上原鏈接:https://mp.weixin.qq.com/s?__biz=MzA5MjcxNDQxNw==&mid=2247487674&idx=1&sn=3c3329e1f5622617980e9885643d5cfa&chksm=9069b464a71e3d724da6f55ba5d865c81cf46a4dcdd680a2d192b5b1cb714f34f66432532cc9&mpshare=1&scene=1&srcid=&sharer_sharetime=1585271535627&sharer_shareid=3177188b879205cdaf204a607a1dda00&key=415a1fbf986a67efb4fdb42c58e5959e630740609eef51b3c681790500b2acc3601f849ef474b1021e53306edf6b03c05a65912706f351e780fffbf6a9b648d047240c262c2e424b9d3dce39120c9ac9&ascene=1&uin=MjMzMTY4OTI2MQ%3D%3D&devicetype=Windows+10&version=62080079&lang=zh_CN&exportkey=Ae%2F2CtKrOsNry2gps40VFRo%3D&pass_ticket=EZTkZeaFj1a52g4%2BXdO4TiQsiMeh7AjS9o%2F9VMevjnaICrYQImAa%2Fwc%2B7PVNPpuM

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