python groupby用法
时间: 2023-08-29 18:13:24 浏览: 68
Python的pandas库提供了一个名为`groupby`的函数,可以根据给定的键对数据进行分组。
使用方法:
df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False)
参数说明:
- by: 分组键,可以是一个数组、列标签或字典。
- axis:分组维度,默认0表示按行分组。
- level: 如果分组键为多层索引的话,指定哪一级分组。
- as_index: 是否将分组键作为索引,默认True。
- sort: 是否按照分组键排序,默认True。
- group_keys: 是否在结果中包含分组键。
- squeeze: 如果分组后只有一个值,是否将结果降维。
- observed: 是否仅使用已观察到的数据。
示例:
``` python
import pandas as pd
# 创建数据
data = {'A':['foo','foo','foo','bar','bar','bar'],
'B':['one','one','two','two','one','one'],
'C':['x','y','x','y','x','y'],
'D':[1,3,2,5,4,1]}
df = pd.DataFrame(data)
# 按A列分组
grouped = df.groupby('A')
# 计算分组后的平均值
print(grouped.mean())
# 按多个列分组
grouped = df.groupby(['A','B'])
print(grouped.mean())
```
分组后,可以使用聚合函数(如mean、sum、count等)对分组后的数据进行计算。
阅读全文