在pandas的DataFrame中搜索“不包含”

发布于 2021-01-29 19:22:32

我已经进行了一些搜索,无法弄清楚如何通过过滤数据帧df["col"].str.contains(word),但是我想知道是否有一种方法可以反向执行:通过该集合的补充来过滤数据帧。例如:达到的效果!(df["col"].str.contains(word))

可以通过一种DataFrame方法来完成吗?

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用invert(〜)运算符(其作用类似于非布尔数据):

    new_df = df[~df["col"].str.contains(word)]
    

    new_dfRHS返回的副本在哪里。

    包含还接受正则表达式…


    如果以上方法引发ValueError,则可能是由于您混合使用了数据类型,所以请使用na=False

    new_df = df[~df["col"].str.contains(word, na=False)]
    

    要么,

    new_df = df[df["col"].str.contains(word) == False]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看