为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只甜甜圈 2022-09-27 15:08:44
我有一个类似于此的多索引数据帧。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个单独行中每个行的相同平均数
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

尝试使用transform mean


df.groupby(level=0).transform('mean')

                 C1        C2

bar one    0.473968 -0.454709

    two    0.473968 -0.454709

    three  0.473968 -0.454709

baz one    0.731266 -0.437691

    two    0.731266 -0.437691

    three  0.731266 -0.437691

foo one    0.061087 -0.326533

    two    0.061087 -0.326533

    three  0.061087 -0.326533

更新


df['C3']=df.groupby(level=0).C2.transform('mean')


查看完整回答
反对 回复 2022-09-27
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信