pandas分组lambda表达式
时间: 2023-11-12 15:58:10 浏览: 232
好的,针对您的问题,我可以给出以下示例代码:
假设我们有一个数据集,其中包含了学生的姓名、年龄和成绩,我们想要按照年龄分组,并计算每个年龄组的平均成绩。可以使用 pandas 中的 groupby 方法和 lambda 表达式来实现:
```python
import pandas as pd
# 创建数据集
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank'],
'age': [18, 19, 18, 20, 19, 20],
'score': [85, 92, 78, 90, 88, 87]}
df = pd.DataFrame(data)
# 按照年龄分组,并计算每个年龄组的平均成绩
result = df.groupby('age').apply(lambda x: x['score'].mean())
print(result)
```
输出结果为:
```
age
18 81.5
19 90.0
20 88.5
dtype: float64
```
其中,`groupby('age')` 表示按照年龄分组,`apply(lambda x: x['score'].mean())` 表示对每个分组应用一个函数,这里使用 lambda 表达式计算每个分组的平均成绩。
阅读全文