首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在SQL中使用' in‘和'not in’过滤Pandas数据帧

如何在SQL中使用' in‘和'not in’过滤Pandas数据帧
EN

Stack Overflow用户
提问于 2013-11-14 01:11:07
回答 8查看 765.1K关注 0票数 651

如何实现SQL语言的INNOT IN的等价物

我有一个包含所需值的列表。以下是场景:

df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']})
countries_to_keep = ['UK', 'China']

# pseudo-code:
df[df['country'] not in countries_to_keep]

我目前使用的方法如下:

df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']})
df2 = pd.DataFrame({'country': ['UK', 'China'], 'matched': True})

# IN
df.merge(df2, how='inner', on='country')

# NOT IN
not_in = df.merge(df2, how='left', on='country')
not_in = not_in[pd.isnull(not_in['matched'])]

但这看起来像是一个可怕的杂技。有人能改进它吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19960077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档