根据条件合并Dataframe列中的行

2024-05-16 14:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下df的摘录:

                     Causa de muerte   Sexo              Edad  Periodo   Total
39  001-102  I-XXII.Todas las causas  Total    Menos de 1 año     2018    1027
40  001-102  I-XXII.Todas las causas  Total    Menos de 1 año     2017    1092
41  001-102  I-XXII.Todas las causas  Total    Menos de 1 año     2016    1120
78  001-102  I-XXII.Todas las causas  Total     De 1 a 4 años     2018     240
79  001-102  I-XXII.Todas las causas  Total     De 1 a 4 años     2017     226
80  001-102  I-XXII.Todas las causas  Total     De 1 a 4 años     2016     248

是否有方法合并/合并“Edad”==“Menos de 1 año”和“Edad”==“de 1 a 4 años”的行,并将合并行重命名为“de 0 a 4 años”。 我的目标是“总计”中相应的数字相加:

                     Causa de muerte   Sexo              Edad  Periodo   Total
39  001-102  I-XXII.Todas las causas  Total     De 0 a 4 años     2018    1267
40  001-102  I-XXII.Todas las causas  Total     De 0 a 4 años     2017    1318
41  001-102  I-XXII.Todas las causas  Total     De 0 a 4 años     2016    1368

我想你会和groupby一起做,但我还不知道怎么做


Tags: dfosdelastotalperiodosexoedad
1条回答
网友
1楼 · 发布于 2024-05-16 14:23:06

^{}与聚合sum一起使用:

df['Edad'] = df['Edad'].replace({'Menos de 1 año':'De 1 a 4 años'})

df = df.groupby(['Causa de muerte','Sexo','Edad','Periodo'], as_index=False)['Total'].sum()
print (df)
                    Causa de muerte   Sexo           Edad  Periodo  Total
0  001-102  I-XXII.Todas las causas  Total  De 1 a 4 años     2016   1368
1  001-102  I-XXII.Todas las causas  Total  De 1 a 4 años     2017   1318
2  001-102  I-XXII.Todas las causas  Total  De 1 a 4 años     2018   1267

相关问题 更多 >