2017-04-21 83 views
0

我正在使用python合并使用熊猫的表,但我没有什么麻烦。这是问题。在熊猫的2列中任一列上合并表

我有2个tables_A和table_B。我在桌子上有两列_A说“一”,“两”。我在table_B上有两列说“一”,“三”。 table_B中的列“one”具有映射到table_A中的列“one”的一些值以及映射到table_A中的列“two”的一些值。如何在Python中映射值类似于查询:

Select * from Table_A a, Table_B b 
where a.one = b.one or a.two=b.one 

谢谢!

回答

2

考虑与合并的级联这将翻译你的SQL查询作为OR往往类似于一个UNION

pd.concat([pd.merge(table_A, table_B, on='one'), 
      pd.merge(table_A, table_B, left_on='two', right_on='one')]) 
+0

谢谢,它的工作! –