pandas groupby 用法
时间: 2023-09-08 11:15:10 浏览: 99
pandas groupby 是一种按照某个或某些列分组的数据分析方法,用法如下:
1. 按照一列分组
```
grouped = df.groupby('column_name')
```
2. 按照多列分组
```
grouped = df.groupby(['column_name_1', 'column_name_2'])
```
3. 使用聚合函数对分组后的数据进行计算
```
grouped['column_name'].sum()
grouped['column_name'].mean()
grouped['column_name'].max()
grouped['column_name'].min()
grouped['column_name'].count()
grouped['column_name'].agg([np.sum, np.mean, np.max, np.min, np.count]) # 可以使用自定义函数
```
4. 使用 apply 方法对分组后的数据进行计算
```
grouped.apply(lambda x: x['column_name'].sum())
grouped.apply(lambda x: x['column_name'].mean())
grouped.apply(lambda x: x['column_name'].max())
grouped.apply(lambda x: x['column_name'].min())
grouped.apply(lambda x: x['column_name'].count())
```
5. 使用 transform 方法对分组后的数据进行计算
```
grouped['column_name'].transform(lambda x: x.sum())
grouped['column_name'].transform(lambda x: x.mean())
grouped['column_name'].transform(lambda x: x.max())
grouped['column_name'].transform(lambda x: x.min())
grouped['column_name'].transform(lambda x: x.count())
```
6. 使用 filter 方法对分组后的数据进行筛选
```
grouped.filter(lambda x: x['column_name'].sum() > 100)
```
阅读全文