我有两个数据框df1
和df2
。 df1
包含两个ID之间的关系,而df2包含ID的名称。
df1 ID1 ID2
0 0 2
1 1 3
2 3 2
3 1 2
df2 ID name
0 0 John
1 1 Carl
2 2 Eva
3 3 Julia
我想将名称信息添加到df1
,例如:
df1 ID1 ID2 name1 name2
0 0 2 John Eva
1 1 3 Carl Julia
2 3 2 Julia Eva
3 1 2 Carl Eva
答案 0 :(得分:1)
Series
使用双倍map
:
s = df2.set_index('ID')['name']
df1['name1'] = df1['ID1'].map(s)
df1['name2'] = df1['ID2'].map(s)
替代:
df1 = df1.assign(name1=df1['ID1'].map(s), name2=df1['ID2'].map(s))
print (df1)
df1 ID1 ID2 name1 name2
0 0 0 2 John Eva
1 1 1 3 Carl Julia
2 2 3 2 Julia Eva
3 3 1 2 Carl Eva
答案 1 :(得分:0)