Pandas相当于SQL在多个表上的位置

时间:2014-09-03 14:46:35

标签: pandas

这个SQL文本的pandas等价物是什么:

table a:
group1  group2  value1
a       2       1.1
b       3       1.5

table b:
group1  group2  value2
a       2       1.8
b       3       2.1

SELECT a.group1, a.group2, a.value1, b.value2
FROM a, b
WHERE a.group1 = b.group1 and a.group2 = b.group2

result:
group1  group2  value1  value2
a       2       1.1     1.8
b       3       1.5     2.1

我尝试过合并和加入但是在我的真实数据集中添加了每一行,我只想要一个匹配的单独数据框中的列,就像在这个SQL示例中一样。

1 个答案:

答案 0 :(得分:1)

您的SQL相当于内部联接,那么这个怎么样?

In [79]: a.merge(b, on=['group1','group2'])
Out[79]: 
  group1  group2  value1  value2
0      a       2     1.1     1.8
1      b       3     1.5     2.1