python代替分组的 .values
时间: 2024-05-13 14:17:02 浏览: 15
在Python中,可以使用 `groupby` 函数来根据特定的键将数据集分组。一旦数据被分组,你可以对每个组进行聚合操作,如计数、平均值、总和等。如果你想要以某个列为键对数据进行分组,然后对每个组进行聚合操作,可以使用 `groupby` 函数。
例如,假设你有一个包含学生姓名、年龄和成绩的数据集,并且你想要根据年龄对数据进行分组,并计算每个年龄段的平均成绩:
```python
import pandas as pd
# 创建示例数据集
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank', 'Gina', 'Harry'],
'age': [20, 20, 21, 21, 22, 22, 23, 23],
'score': [80, 85, 90, 95, 85, 90, 95, 100]
}
df = pd.DataFrame(data)
# 根据年龄分组并计算平均成绩
result = df.groupby('age')['score'].mean()
print(result)
```
输出:
```
age
20 82.5
21 92.5
22 87.5
23 97.5
Name: score, dtype: float64
```
这里使用了 `groupby` 函数将数据按照 `age` 列进行分组,并使用 `mean` 函数计算每个组的平均成绩。最终得到了每个年龄段的平均分数。
注意到这里并没有使用 `.values` 方法,因为 `groupby` 函数返回的是一个 Pandas 的 `DataFrameGroupBy` 对象,而不是一个原始的数据集。由于该对象已经被分组,因此不需要使用 `.values` 来进行分组和聚合操作。