我有两个几乎完全相同的数据帧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
您可以将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