我有一个名为df
的pandas数据框,其中包含多个列和一个df['MY STATE']
列。我的目标是从数据框中删除不包含US状态的所有行。我想通过将单元格中的值与包含所有州缩写的pandas系列进行比较来实现此目的。我见过人们使用类似下面的内容来清理数据帧:
df = df[df['COST'] <= 0]
但是我需要的东西(下面)不起作用
df = df[df['MY STATE'] not in states['Abbreviation'].values]
有没有办法简单地做到这一点?
我已经读过df.query()
可以用来做这样的事情,但我还没有找到一个例子,并且还读到df.query()
当有空格时不能使用{{1}}列的名称。
谢谢,
迈克尔
答案 0 :(得分:2)
IIUC您可以将isin
与反向运算符~
一起使用:
df = df[~df['MY STATE'].isin(states['Abbreviation'].values)]