第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 MultiIndex 將“總計(jì)”行附加到熊貓數(shù)據(jù)框

如何使用 MultiIndex 將“總計(jì)”行附加到熊貓數(shù)據(jù)框

萬(wàn)千封印 2023-02-07 13:44:26
假設(shè)您有一個(gè)帶有 MultiIndex 的簡(jiǎn)單 pandas 數(shù)據(jù)框:df = pd.DataFrame(1, index=pd.MultiIndex.from_tuples([('one', 'elem1'), ('one', 'elem2'), ('two', 'elem1'), ('two', 'elem2')]),                  columns=['col1', 'col2'])打印成表格:           col1  col2one elem1     1     1    elem2     1     1two elem1     1     1    elem2     1     1問(wèn)題:如何向該 Dataframe 添加“總計(jì)”行?預(yù)期輸出:             col1  col2one   elem1   1.0   1.0      elem2   1.0   1.0two   elem1   1.0   1.0      elem2   1.0   1.0Total         4.0   4.0第一次嘗試:天真的實(shí)現(xiàn)如果我只是忽略 MultiIndex 并遵循標(biāo)準(zhǔn)方式df.loc['Total'] = df.sum()輸出:              col1  col2(one, elem1)     1     1(one, elem2)     1     1(two, elem1)     1     1(two, elem2)     1     1Total            4     4好像是對(duì)的,但是MultiIndex被改成了Index([('one', 'elem1'), ('one', 'elem2'), ('two', 'elem1'), ('two', 'elem2'), 'Total'], dtype='object')第二次嘗試:明確df.loc['Total', :] = df.sum()或者(感到沮喪并出于惡意改變軸)df.loc['Total', :] = df.sum(axis=1)輸出(兩次調(diào)用相同):             col1  col2one   elem1   1.0   1.0      elem2   1.0   1.0two   elem1   1.0   1.0      elem2   1.0   1.0Total         NaN   NaNMultiIndex 未轉(zhuǎn)換,但 Total 錯(cuò)誤(NaN != 4)。
查看完整描述

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ù)框匹配。


查看完整回答
反對(duì) 回復(fù) 2023-02-07
  • 1 回答
  • 0 關(guān)注
  • 87 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)