提问者:小点点

从两个数据帧中匹配姓名,从一个数据帧中提取中间名并将其附加到另一个数据帧中


我有两个几乎完全相同的数据帧A和B.实际上,这是两个数据帧,每个有1000+个名称。 我想从两个数据帧中匹配姓名,然后从数据帧B提取中间名到数据帧A。

    data frame A
name         surname
John         Doe
Tom          Sawyer
Huckleberry  Finn

 data frame    B
name    middle_name  surname
John    `O               Doe
Tom     Philip           Sawyer
Lilly   Tomas            Finn

我寻求的结果是:

name    middle name    surname
John    `O             Doe
Tom     Philip         Sawyer


共1个答案

匿名用户

您可以将df.merge与参数how='inner'on=['name','surname']一起使用。 要获得正确的顺序,请使用轴1上的df.reindex

df = df.merge(df1,how='inner',on=['name','surname'])
df.reindex(['name', 'middle_name', 'surname'])

   name middle_name surname
0  John          `O     Doe
1   Tom      Philip  Sawyer