Python 匹配两个数据框中的名称和姓氏,从一个数据框中提取中间名称并将其附加到另一个数据框中

Python 匹配两个数据框中的名称和姓氏,从一个数据框中提取中间名称并将其附加到另一个数据框中,python,pandas,Python,Pandas,我有两个几乎相同的数据帧A和B。实际上,这是两个数据帧,每个数据帧有1000多个名称。 我想匹配两个数据帧中的名称和姓氏,然后将中间名称从数据帧B提取到数据帧A data frame A name surname John Doe Tom Sawyer Huckleberry Finn 我寻求的结果是: name middle name surname John `O Doe Tom

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

    data frame A
name         surname
John         Doe
Tom          Sawyer
Huckleberry  Finn

我寻求的结果是:

name    middle name    surname
John    `O             Doe
Tom     Philip         Sawyer

您可以与参数
how='internal'
on=['name','names']
一起使用。要获得正确的顺序,请在轴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
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