我有两个数据框,我正在尝试合并:
df1 - 用户信息
Employee ID Country
1 UK
100 USA
31 India
6 UK
45 UK
df2 - refcompanylookup
Country Company
UK UK Company LTD 1
USA US Company LLC 1
India India Company PVT 1
UserInfo['Mapped Company'] = UserInfo.merge(refcompanylookup, how = 'left', left_on = 'Country', right_on = 'Country')['Company']
即将回归:
Employee ID Country Mapped Company
1 UK US Company LLC 1
100 USA
31 India
6 UK
45 UK
我不清楚为什么会失败。我检查了 df1 Country 和 df2 Company 的 dtypes:
UserInfo['Country'].dtype
refcompanylookup['Country'].dtype
两者都返回为:
dtype('O')
从这个答案我理解这意味着它们都是字符串并且没问题。
我认为
df.merge
并不像你想象的那样。无需将 merge
的输出分配给数据框列。您可以尝试一下是否有效:
pd.merge(UserInfo, refcompanylookup, how="left", on="Country")