将两个pandas数据框与列值合并

时间:2018-05-20 07:48:57

标签: python python-3.x pandas merge

我有一个看起来像这样的df1

  Company  SKU  Sales
1    A      X1   10
2    B      Y1   20
3    C      X1   30
4    D      Y1   40
5    E      X2   50
6    F      Y2   60

我有另一个只有SKU列表的df2

    SKU  
1    X1  
2    Y1  

我想将这两个dfs合并到另一个数据帧中,结果数据框应该在df2中包含SKU

  Company  SKU  Sales
1    A      X1   10
2    B      Y1   20
3    C      X1   30
4    D      Y1   40

我试过左连接,但似乎没有工作

df3 = df1.merge(df2,how='Left',on='SKU')

我将非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我看起来你并没有试图'加入'dfs,而是选择第一个SKU与第二个匹配的行。

尝试这样的事情:

df1.loc[df1['SKU'].isin(df2.SKU)]

请参阅:Select rows from a DataFrame based on values in a column in pandas