Pandas 相当于多个表上的SQL where

Pandas 相当于多个表上的SQL where,pandas,Pandas,此SQL文本的等效内容是什么: 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.

此SQL文本的等效内容是什么:

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示例所示。

您的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

在实际数据集上执行此操作时,返回的行数超过500万行。应该是30000左右。@camdenl您确定指定了on关键字还是
how='inner'
?这应该是可行的(向示例中添加一些不匹配的行并尝试一下)。这是SQL等价物,不幸的是,这不是我想要的。