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,那麼不需要指定列,如果你想要所有這些列... –