如何使用从Python中的groupby函数获得的平均值创建列?

时间:2019-04-05 14:04:19

标签: python pandas dataframe

我有一个数据框CGdf_2004,如下所示:

Region,   Sector,   TSR_15_16
Europe    Consumer  12%
Americas  Telecom   15%
...so on 7000 rows

我已经按扇区和地区计算出平均TSR_15_16分组。

X = CGdf_2004.groupby(['Region', 'Sector']).mean()

现在,我想在CGdf_2004中创建一个新列,该列具有基于扇区和地区的方法。因此,我希望将“欧洲”和“消费者”并列的每一行的均值(“欧洲和消费者”)写入新列。

关于如何做到这一点的任何建议?

2 个答案:

答案 0 :(得分:0)

您应该使用join。

onCreate()

一行

X=CGdf_2004.groupby(['Region', 'Sector']).mean()
CGdf_2004.join(X, on=['Region', 'Sector'], rsuffix='_mean')

答案 1 :(得分:0)

如果我了解您:

CGdf_2004['mean'] = CGdf_2004.groupby(['Region', 'Sector']).transform('mean')