groupby()
时间: 2023-06-22 14:26:21 浏览: 107
`groupby()` 是Python中pandas库中的一个函数,用于对数据进行分组。它可以根据指定的列或者多列对数据进行分组,并可以对分组后的数据进行聚合操作,如求和、平均值等。
使用`groupby()`函数的基本语法如下:
```python
df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)
```
其中,参数说明如下:
- by:指定要分组的列名,可以是单个列名或者多个列名的列表。
- axis:指定沿着哪个轴进行分组,0表示沿着行方向分组,1表示沿着列方向分组。
- level:指定要分组的层级。
- as_index:指定是否将分组后的列作为索引。
- sort:指定是否按照分组的键进行排序。
- group_keys:指定是否在分组后的结果中包含分组的键。
- squeeze:指定是否在分组后的结果中去除单层索引。
- observed:指定是否在分组时包含所有观测值。
使用示例:
```python
import pandas as pd
# 创建一个DataFrame
data = {'name': ['Tom', 'Jack', 'Tom', 'Jack', 'Tom', 'Tom'],
'age': [20, 21, 22, 22, 21, 20],
'gender': ['M', 'M', 'M', 'F', 'F', 'M'],
'score': [80, 85, 90, 88, 92, 95]}
df = pd.DataFrame(data)
# 按照name列进行分组,并计算每组的平均分数
grouped = df.groupby('name')['score'].mean()
print(grouped)
```
输出结果如下:
```
name
Jack 86.5
Tom 89.0
Name: score, dtype: float64
```
以上代码中,首先创建一个DataFrame,然后使用`groupby()`函数按照name列进行分组,并计算每组的平均分数。最后输出分组后的结果。
阅读全文