gpt4 book ai didi

python - Pandas 在两个数据帧之间执行 SQL 减法

转载 作者:行者123 更新时间:2023-11-28 20:46:58 25 4
gpt4 key购买 nike

我有两个数据框。首先是 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 导入 * 将 pandas 导入为 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)

关于出现问题的任何想法,或者我如何使用其他一些 pandas 功能快速实现这一目标。我可以在 R 中毫无问题地做完全相同的事情。

最佳答案

应该这样做

df1[df1.ID.isin(df2.ID) == False]

关于python - Pandas 在两个数据帧之间执行 SQL 减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20059746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com