我有一个熊猫DataFrame
,其多索引分别为'County ID'
和'County'
。有一个'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
任何帮助将非常感谢!
答案 0 :(得分:0)
groupby
上的level=0
并用sum
进行转换应该
df['TOTALWORKFORCE'] = df.groupby(level=0).WORKFORCE.transform('sum')
答案 1 :(得分:0)
更短的版本:
df['TOTALWORKFORCE'] = df.sum(level=0).WORKFORCE
编辑: 分配给
df['TOTALWORKFORCE']
将不起作用,正如 Mark Wang 正确提到的那样。所以这个解决方案只能对每个国家进行求和,而没有分配回原始 DataFrame。
感谢您的评论!