pandas groupby
时间: 2023-06-30 11:24:21 浏览: 120
Pandas groupby 是一种非常强大的数据分组方法,它可以按照指定的列对数据进行分组,并对每个组进行聚合、转换或筛选等操作。在 Pandas 中,使用 groupby 方法可以轻松实现数据的分组操作。
具体来说,groupby 方法可以接受一个或多个列名作为参数,将数据按照这些列名进行分组,并返回一个 GroupBy 对象。通过 GroupBy 对象,可以进行多种操作,如分组聚合、转换、过滤等,还可以使用 agg、transform、apply 等方法进行更加复杂的操作。
例如,可以使用 groupby 方法按照某一列进行分组,并对每个组计算平均值、最大值、最小值等统计量:
```python
import pandas as pd
# 创建一个包含姓名、性别和成绩的数据表
data = {'Name': ['Tom', 'Jack', 'Tom', 'Tom', 'Jack', 'Tom'],
'Gender': ['M', 'F', 'M', 'M', 'F', 'F'],
'Score': [75, 82, 68, 92, 87, 78]}
df = pd.DataFrame(data)
# 按照姓名分组,计算每个人的平均成绩、最高成绩和最低成绩
grouped = df.groupby(['Name'])
result = grouped.agg({'Score': ['mean', 'max', 'min']})
print(result)
```
输出结果为:
```
Score
mean max min
Name
Jack 84.5 87 82
Tom 78.5 92 68
```
这里使用了 groupby 方法按照 Name 列进行分组,然后使用 agg 方法对每个组进行聚合操作,计算了每个人的平均成绩、最高成绩和最低成绩。最后得到了一个包含平均成绩、最高成绩和最低成绩的数据表。
阅读全文