Implementieren von "in" und "nicht in" für Pandas-Datenrahmen
Wie kann ich die Entsprechungen von SQL erreichenIN
undNOT IN
?
Ich habe eine Liste mit den erforderlichen Werten. Hier ist das Szenario:
df = pd.DataFrame({'countries':['US','UK','Germany','China']})
countries = ['UK','China']
# pseudo-code:
df[df['countries'] not in countries]
Meine derzeitige Vorgehensweise ist wie folgt:
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'])]
Aber das scheint ein schrecklicher Trick zu sein. Kann jemand daran etwas verbessern?