我已经进行了一些搜索,无法弄清楚如何通过过滤数据帧df["col"].str.contains(word),但是我想知道是否有一种方法可以反向执行:通过该集合的补充来过滤数据帧。例如:达到的效果!(df["col"].str.contains(word))。
df["col"].str.contains(word)
!(df["col"].str.contains(word))
可以通过一种DataFrame方法来完成吗?
DataFrame
您可以使用invert(〜)运算符(其作用类似于非布尔数据):
new_df = df[~df["col"].str.contains(word)]
,new_dfRHS返回的副本在哪里。
new_df
包含还接受正则表达式…
如果以上方法引发ValueError,则可能是由于您混合使用了数据类型,所以请使用na=False:
na=False
new_df = df[~df["col"].str.contains(word, na=False)]
要么,
new_df = df[df["col"].str.contains(word) == False]