IN
SQLとに相当するものをどのように達成できますNOT 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'])]
しかし、これは恐ろしいクラッジのようです。誰でもそれを改善できますか?