pandas平均多级列

nkoocmlb  于 2023-03-21  发布在  其他
关注(0)|答案(2)|浏览(116)

我有一个带有多级列的pandas表:
x1c 0d1x如何对具有相同0级名称的列求平均值?
因此基本上G1下的所有列(可以大于2)将被平均为每行的一列
然后G2下的所有列将被平均为每行的一列
等等...
我可以用for循环来实现,但是有没有更好的方法来获得这个输出df:
| 实验|g1|二代|
| - ------|- ------|- ------|
| e1|0.7...导出为avg(1,0.44..)|0.54分。|
| 第二代|0.7..|-0.05|

h9a6wy2h

h9a6wy2h1#

您可以对具有axis=1的列执行groupby,并指定level

out = df.groupby(level=0, axis=1).mean()
print(df)

  g1         g2
  e1    e2   e1    e2
0  1  0.44  0.9  0.14

print(out)

     g1    g2
0  0.72  0.52
zzlelutf

zzlelutf2#

事实上,我和一个小组一起管理它:
df.groupby(by=df.columns.get_level_values(0), axis=1).mean()

相关问题