【发布时间】:2013-11-18 22:56:16
【问题描述】:
我有两个数据框。首先是DF1:
ID Other value
1 a
2 b
3 c
然后是DF2,它是DF1的子集:
ID Other value
1 a
我想创建第三个数据框,它相当于 SQL 中的减号:删除两个数据框交集处的所有观察结果。这会让我留下 DF3:
ID Other value
2 b
3 c
我一直在尝试使用pandasql,但它似乎不喜欢我的sql。代码如下: 从 pandasql 导入 * 将熊猫导入为 pd
pysqldf = lambda q: sqldf(q, globals())
train = pysqldf(""" SELECT * FROM DF1 WHERE ID
NOT IN (SELECT ID FROM DF2) """)
我得到了错误
Error on sql SELECT * FROM DF1 WHERE ID
NOT IN (SELECT ID FROM DF2)
关于出了什么问题或我如何使用其他一些熊猫功能快速实现这一点的任何想法。我可以毫无问题地在 R 中做完全相同的事情。
【问题讨论】: