如何实现Pandas数据帧中的的“in”和“not in”?

如何实现SQL的IN和NOT IN?
我有一个所需值的列表。这里有一个方案:
df = pd.DataFrame({'countries':['US','UK','Germany','China']})
countries = ['UK','China']
# pseudo-code:
df[df['countries'] not in countries]

我目前的做法如下:
df = pd.DataFrame({'countries':['US','UK','Germany','China']})
countries = pd.DataFrame({'countries':['UK','China'], 'matched':True})
# IN
df.merge(countries,how='inner',on='countries')
# NOT IN
not_in = df.merge(countries,how='left',on='countries')
not_in = not_in[pd.isnull(not_in['matched'])]

但这看起来很糟糕。有人能改进吗?
数据科学家 Level1 提问 在 2017-12-19 在 应用问题.
添加评论
0 答案

您的回答

*代码插入功能已上线
发布您的回答,意味着您同意了我们的 隐私政策服务条款