2 回答
TA贡献1895条经验 获得超3个赞
这是你可以做的
df3 = df1.join(df2.set_index('ID'), on='ID', lsuffix='_left')
如果您想加入“ID”列。
但是,如果您希望加入“姓名”,您可以更改 on=“姓名”。另一种选择是使用合并,
df1.merge(df2, on='Name', how='left')
输出
ID Name_x Gender Name_y Age
0 0 Bill M NaN NaN
1 1 Adam M Adam 64.0
2 2 Kat F Kat 50.0
3 1 Adam M Adam 64.0
这是使用时的输出caller.set_index('ID').join(other.set_index('ID'), lsuffix='_left')
Name_left Gender Name Age
ID
0 Bill M NaN NaN
1 Adam M Adam 64.0
1 Adam M Adam 64.0
2 Kat F Kat 50.0
TA贡献1921条经验 获得超9个赞
您可以执行以下操作
name_age_dict = dict(zip(df2['Name'], df2['Age']))
df1['Age'] = df1['Name'].map(name_age_dict).fillna('')
另一种方法
df1['Age'] = df1['Name'].map(df2.set_index('Name')['Age']).fillna('')
输出
ID Name Gender Age
0 0 Bill M
1 1 Adam M 64
2 2 Kat F 50
3 1 Adam M 64
添加回答
举报