以下是一个示例代码,演示了如何按照分组的方式添加两列。
import pandas as pd
# 创建一个示例数据集
data = {'分组': ['A', 'A', 'B', 'B', 'C', 'C'],
'数值': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 添加两列
df['每组最大值'] = df.groupby('分组')['数值'].transform('max')
df['每组平均值'] = df.groupby('分组')['数值'].transform('mean')
print(df)
输出结果如下:
分组 数值 每组最大值 每组平均值
0 A 1 2 1.5
1 A 2 2 1.5
2 B 3 4 3.5
3 B 4 4 3.5
4 C 5 6 5.5
5 C 6 6 5.5
在这个示例中,我们使用groupby
方法将数据按照'分组'列进行分组。然后,使用transform
方法对每个分组进行操作,计算每组的最大值和平均值,并将结果添加为新列。最后,我们打印出结果数据集。
上一篇:按照分组但仍保留所有行