如何在两个数据帧中使用不同主键和外键列名的panda中进行vlookup

  • 本文关键字:vlookup panda 数据帧 两个 python pandas
  • 更新时间 :
  • 英文 :


假设我们有两个数据帧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

最新更新