首页 > 解决方案 > 如何将 pandas 数据框中的两行合并为具有新名称的一行?

问题描述

所以我想添加两个不同的行,其中 5 列包含整数,并在此基础上创建一个新行。有没有办法将每行的最后 5 列加在一起,然后根据这些总数在其他列中创建新值?

基本上我想把这个:

编号 区域 养生法 val_1 val_2 val_3 val_4 val_5
5 利马 黑色的 78 209 580 18 700

和这个:

编号 区域 养生法 val_1 val_2 val_3 val_4 val_5
11 普卡尔帕 黑色的 250 845 1659 39 2101

进入这个:

编号 区域 养生法 val_1 val_2 val_3 val_4 val_5
12 秘鲁 黑色的 328 1054 2239 57 2801

标签: pythonpandasdataframejoinmerge

解决方案


目前尚不清楚如何处理前三列;但是,您可以选择剩余的列iloc并将两个过滤的数据框添加在一起。这假设数据帧具有相同的行数。从那里,您可以从第二个数据框(您也可以使用第一个)获取前 3 列数据combine_first

df3 = df1.iloc[:, 3:] + df2.iloc[:, 3:]
df3.combine_first(df2)
Out[1]: 
      area  idx regimen  val_1  val_2  val_3  val_4  val_5
0  Pucalpa   11   Black    328   1054   2239     57   2801

推荐阅读