groupby后如何添加新列
时间: 2023-10-24 16:12:56 浏览: 177
Mysql利用group by分组排序
你可以使用 `transform` 方法来实现在 `groupby` 后添加新列。具体实现步骤如下:
1. 对数据进行 `groupby` 操作。
2. 使用 `transform` 方法,传入一个函数,该函数会被应用到每个组中的每个元素上,并返回一个 Series 或 DataFrame。
3. 将返回的 Series 或 DataFrame 赋值给原始数据的新列。
示例代码如下:
```python
import pandas as pd
# 创建一个示例数据集
df = pd.DataFrame({
'group': ['A', 'A', 'B', 'B'],
'value': [1, 2, 3, 4]
})
# 对数据进行 groupby 操作,并在每个组中添加一个新列 mean,该列的值为该组的平均值
df['mean'] = df.groupby('group')['value'].transform('mean')
print(df)
```
输出结果如下:
```
group value mean
0 A 1 1.5
1 A 2 1.5
2 B 3 3.5
3 B 4 3.5
```
在上面的示例中,我们对数据按 `group` 列进行了分组,并在每个组中添加了一个新列 `mean`,该列的值为该组的平均值。
阅读全文