假设我们有两个数据帧df和df1,它们具有不同的列名,例如sku作为主键,sno作为外键:
Example1(df)
sku loc flag
122 61 True
123 61 True
113 62 True
122 62 True
123 62 False
122 63 False
301 63 True
Example2(df1)
sno dept
113 a
122 b
123 b
301 c
我想做一个连接或合并,看起来像这样:
Example3
sku loc flag dept
122 61 True b
123 61 True b
113 62 True a
122 62 True b
123 62 False b
122 63 False b
301 63 True c
不幸的是,df.merge(df1, on='sku', how='left')
和df['dept']=df.sku.map(df1.dept)
不起作用。
示例修改自:使用join的Pandas中的vlookup
您必须设置左右键
df1.merge(df2, right_on='sno',left_on='sku',how='left')
sku loc flag sno dept
0 122 61 True 122 b
1 123 61 True 123 b
2 113 62 True 113 a
3 122 62 True 122 b
4 123 62 False 123 b
5 122 63 False 122 b
6 301 63 True 301 c