1 回答

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
解決方案
您必須刪除索引df.sum()并僅使用這些值:
df.loc['Total', :] = df.sum().values
輸出:
col1 col2
one elem1 1.0 1.0
elem2 1.0 1.0
two elem1 1.0 1.0
elem2 1.0 1.0
Total 4.0 4.0
為什么第二次嘗試錯(cuò)了?
第二次嘗試幾乎是正確的。但是 df.sum() 有Index(['col1', 'col2'], dtype='object'). 因此,pandas 無(wú)法匹配索引。新索引 ('Total', '') 已附加但沒(méi)有值。
但是為什么df.loc['Total', :] = df.sum(axis=1)也失敗了呢?它具有正確的多索引。Pandas 完全按照您所說(shuō)的去做,即對(duì)列求和。因此,df.sum(axis=1)為您提供以下數(shù)據(jù)框:
one elem1 2
elem2 2
two elem1 2
elem2 2
df該數(shù)據(jù)框在任何意義上都無(wú)法與原始數(shù)據(jù)框匹配。
添加回答
舉報(bào)