Python 数据帧中第二级多索引的和值
我有一个pandasPython 数据帧中第二级多索引的和值,python,pandas,dataframe,sum,multi-index,Python,Pandas,Dataframe,Sum,Multi Index,我有一个pandasDataFrame,多索引为'country ID'和'country'。有一个'Workforce'列,我需要对该列中的所有值求和,然后将其添加到数据框中的另一列中,但我只需要对每个级别中的值求和。然而,我一直无法让熊猫以这种方式来计算 我尝试了很多不同的方法,包括让其他DataFrames对每个索引求和,然后重新添加到另一个DataFrame。我也尝试过循环,但无法将列中的所有值相加 我的数据框如下所示: 'TOTAL WORKFORCE'是一个虚拟列,我将其添加为int
DataFrame
,多索引为'country ID'
和'country'
。有一个'Workforce'
列,我需要对该列中的所有值求和,然后将其添加到数据框中的另一列中,但我只需要对每个级别中的值求和。然而,我一直无法让熊猫以这种方式来计算
我尝试了很多不同的方法,包括让其他DataFrame
s对每个索引求和,然后重新添加到另一个DataFrame
。我也尝试过循环,但无法将列中的所有值相加
我的数据框如下所示:
'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
任何帮助都很好,谢谢 Agroupby
在level=0
上,使用sum
进行转换时应:
df['TOTALWORKFORCE'] = df.groupby(level=0).WORKFORCE.transform('sum')
更简短的版本:
df['TOTALWORKFORCE'] = df.sum(level=0).WORKFORCE
编辑:
分配给
df['TOTALWORKFORCE']
正如正确提到的那样,将不起作用。因此,该解决方案只能对每个国家进行求和,而不需要将赋值返回到原始数据帧
谢谢你的评论 太棒了,非常感谢你!工作完美我不认为列分配会工作,因为汇总的数据集有不同的索引
df['TOTALWORKFORCE']