groupby聚合函数
时间: 2023-06-21 08:09:53 浏览: 112
groupby 是 pandas 中用于分组聚合数据的一个函数。它将数据按照指定的列进行分组,并且对每个分组进行聚合操作,例如求和、求平均数、计数等。
它的基本语法如下:
```python
df.groupby(by=grouping_columns)[columns_to_show].function()
```
其中,`by` 参数指定要分组的列,可以是单个列名,也可以是列名列表。`columns_to_show` 参数指定需要显示的列,可以是单个列名,也可以是列名列表。`function` 参数指定要对每个分组进行的聚合操作,例如 `sum()`、`mean()`、`count()` 等。
下面是一个简单的示例,假设有如下数据:
```
name gender age score
Bob M 25 80
Alice F 27 90
Charlie M 30 70
David M 22 60
Eva F 35 85
Frank M 28 75
```
我们可以按照性别分组,并计算每个分组的平均年龄和平均分数:
```python
import pandas as pd
data = {'name': ['Bob', 'Alice', 'Charlie', 'David', 'Eva', 'Frank'],
'gender': ['M', 'F', 'M', 'M', 'F', 'M'],
'age': [25, 27, 30, 22, 35, 28],
'score': [80, 90, 70, 60, 85, 75]}
df = pd.DataFrame(data)
# 按性别分组,计算平均年龄和平均分数
result = df.groupby('gender')['age', 'score'].mean()
print(result)
```
输出结果为:
```
age score
gender
F 31.000000 87.5
M 28.333333 71.666667
```
可以看到,数据被按照性别分成两组,然后分别计算了每组的平均年龄和平均分数。
阅读全文