2
我试图从下面的数据框中得到'1'的所有出现总和的额外列(总和)。数据框具有多索引列(ID,效果和持续时间)。使用python对多索引表中的行值进行求和
ID Effect Duration X1 X2 X3
1888 High 5 1 0 1
1313 High 10 0 1 0
3455 Low 20 1 0 0
我CMD:
df['Total'] = df[df.columns].sum(1)
这给了我一个意外的值在 '合计' 栏。
获得输出:
ID Effect Duration X1 X2 X3 Total
1888 High 5 1 0 1 11
1313 High 10 0 0 0 0
3455 Low 20 1 1 1 111
所需的输出:
ID Effect Duration X1 X2 X3 Total
1888 High 5 1 0 1 2
1313 High 10 0 0 0 0
3455 Low 20 1 1 1 3
我怎样才能获得使用python我期望的输出?谢谢
如果正确编制索引,那么'df.astype(int).sum(1)'就足够了。 –
我认为任何OP都有我提到的问题,通过查看数字,或者它正在执行其他代码,描述什么以及问题是否需要关闭或更改。 – Boud
无论如何,要实现所期望的,如果索引确实是(ID,效果和持续时间)multiindex,那么不需要指定列,如果你想要所有这些列... –