熊猫多索引数据帧中一列的平均值

我有一个类似于此的多索引数据帧。


arrays = [np.array(['bar', 'bar', 'bar','baz', 'baz', 'baz', 'foo', 'foo', 'foo']),

      np.array(['one', 'two', 'three', 'one', 'two', 'three','one', 'two','three'])]

s = pd.Series(np.random.randn(9), index=arrays)

df = pd.DataFrame(np.random.randn(9, 2), index=arrays,columns=['C1','C2'])

df

我想在数据帧的末尾添加一个新列,该列将按级别=0(“bar”,“baz”,“foo”)分组,并对这些组的C2列中的数字进行平均。我想在一个场景中(或者在每个级别= 0的顶行)位置显示3个单独行中每个行的相同平均数


一只甜甜圈
浏览 64回答 1
1回答

侃侃尔雅

尝试使用transform meandf.groupby(level=0).transform('mean')                 C1        C2bar one    0.473968 -0.454709    two    0.473968 -0.454709    three  0.473968 -0.454709baz one    0.731266 -0.437691    two    0.731266 -0.437691    three  0.731266 -0.437691foo one    0.061087 -0.326533    two    0.061087 -0.326533    three  0.061087 -0.326533更新df['C3']=df.groupby(level=0).C2.transform('mean')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python