pandas groupby统计
时间: 2023-09-02 19:05:39 浏览: 87
3.Pandas应用 GroupBy
pandas中的groupby方法可以按照指定的列或多列对数据进行分组,然后进行统计分析。常用的统计函数包括sum、mean、min、max、count、median、std、var等。
例如,有如下一组数据:
```
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank'],
'age': [25, 30, 35, 40, 45, 50],
'gender': ['F', 'M', 'M', 'M', 'F', 'M'],
'income': [5000, 6000, 7000, 8000, 9000, 10000]}
df = pd.DataFrame(data)
```
我们可以按照性别进行分组,然后统计每个性别的平均年龄和收入:
```
grouped = df.groupby('gender')
print(grouped['age'].mean())
print(grouped['income'].mean())
```
输出结果为:
```
gender
F 35.0
M 41.0
Name: age, dtype: float64
gender
F 7000.0
M 8333.333333
Name: income, dtype: float64
```
我们也可以按照多列进行分组,例如按照性别和年龄段进行分组,然后统计每个组的平均收入:
```
bins = [0, 30, 40, 60]
labels = ['<30', '30-40', '40+']
df['age_group'] = pd.cut(df['age'], bins=bins, labels=labels)
grouped = df.groupby(['gender', 'age_group'])
print(grouped['income'].mean())
```
输出结果为:
```
gender age_group
F <30 5000.0
30-40 9000.0
40+ NaN
M <30 6000.0
30-40 7500.0
40+ 10000.0
Name: income, dtype: float64
```
阅读全文