Pandas 相当于多个表上的SQL where
此SQL文本的等效内容是什么: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.
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等价物,不幸的是,这不是我想要的。