pandas笔记:groupby整理

0 数据集

# Visual Python: Data Analysis > File
vp_df = pd.read_csv('https://raw.githubusercontent.com/visualpython/visualpython/main/visualpython/data/sample_csv/fish.csv')
vp_df

pandas笔记:groupby整理_第1张图片

 1 单列聚合

vp_df.groupby('Type')['Kg'].mean()
'''
Type
mackerel     1.417456
salmon       5.996645
tuna        18.038317
Name: Kg, dtype: float64
'''

按照Type 聚类,聚类后将同组的Kg属性合并,求均值

聚合的内容可以是 max, min, mean, unique(唯一值), nunique(唯一值数量),lambda 表达式

1.1 单列聚合多个操作

vp_df.groupby('Type')[['Kg']].agg(['mean','max'])

pandas笔记:groupby整理_第2张图片  

1.2 单列聚合多个属性

vp_df.groupby('Type')[['Kg','Depth']].mean()

 pandas笔记:groupby整理_第3张图片

 按照Type 聚类,聚类后将同组的Kg、Depth属性合并,求均值

1.3 单列聚合多个属性多个操作

vp_df.groupby('Type')[['Kg','Depth']].agg(['mean','max'])

pandas笔记:groupby整理_第4张图片 

 1.4 多列聚合

vp_df.groupby(['Type','Depth']).agg(mean_kg=('Kg','mean'),
                         max_depth=('Depth','max'))

 pandas笔记:groupby整理_第5张图片

 

 2 对聚合结果重命名

重命名的名字=(需要操作的列名,需要的操作名)

vp_df.groupby('Type').agg(mean_kg=('Kg','mean'),
                         max_depth=('Depth','max'))

pandas笔记:groupby整理_第6张图片 

 3 生成了多少个组 ngroups

 

vp_df.groupby(['Type','Depth']).ngroups
#1500

参考内容:Python数据分组处理必备:pandas groupby (qq.com) 

你可能感兴趣的:(pandas,笔记)