[英]Sum values for second level of multi-index in pandas dataframe
我有一個帶有'County ID'
和'County'
多索引的DataFrame
。 有一個'Workforce'
列,我需要對列中的所有值求和,然后將其添加到DataFrame
另一列,但我只需要對每個級別中的值求和。 但是,我一直無法讓熊貓以這種方式求和。
我嘗試了許多不同的事情,包括讓其他DataFrame
對每個索引求和,然后重新添加到另一個DataFrame
。 我也嘗試過循環,但無法不將列中的所有值加在一起。
*COUNTY ID* *COUNTY* INDUSTRY WORKFORCE TOTAL WORKFORCE
12001 | Alachua County, FL Retail 25329 0
| Alachua County, FL Health 22914 0
8013 | Boulder County, CO Education 24123 0
| Boulder County, CO Finance 19478 0
# And so on in that manner
'TOTAL WORKFORCE'
是我作為int64
添加的虛擬列,以便我可以在其中放置一個數值作為我需要的總和的結果。
我想把所有的勞動力數量按每個縣加在一起,所以它看起來像這樣:
*COUNTY ID* *COUNTY* INDUSTRY WORKFORCE TOTAL WORKFORCE
12001 | Alachua County, FL Retail 25329 48243
| Alachua County, FL Health 22914 48243
8013 | Boulder County, CO Education 24123 43601
| Boulder County, CO Finance 19478 43601
任何幫助都會非常感謝!
level=0
上的groupby
並使用sum
轉換應該執行以下操作:
df['TOTALWORKFORCE'] = df.groupby(level=0).WORKFORCE.transform('sum')
一個更短的版本:
df['TOTALWORKFORCE'] = df.sum(level=0).WORKFORCE
編輯:分配給
df['TOTALWORKFORCE']
不會工作,正如馬克王正確提到的那樣。 所以這個解決方案只能對每個國家進行求和,而沒有分配回原始數據幀。
感謝您的評論!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.