当前位置: 首页 > 面试题库 >

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

吕征
2023-03-14
问题内容

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

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


问题答案:

您可以使用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]


 类似资料:
  • 问题内容: 这似乎是一个简单的问题,但是我以前找不到它(这个和这个很接近,但是答案不是很好)。 问题是:如果我想在df中 某处 搜索值(我不知道它在哪一列中),然后返回所有具有匹配项的行。 什么是Pandaic最有效的方法?还有什么比: ? 问题答案: 您可以对整个DataFrame执行相等比较: 另一个选择是使用比较:

  • 我做了一些搜索,不知道如何通过,但是我想知道是否有一种方法可以实现相反的效果:通过该集合的补充来过滤数据帧。例如:为了。 这可以通过方法实现吗?

  • 问题内容: 我有以下pd.DataFrame: 它具有带有和层次结构级别的MultiIndex列。该标签从0到n,并为每个标签,有两个和列。 我想子选择此DataFrame的所有(或)列。 问题答案: 有一种方法可以与布尔索引一起使用,以获得预期的结果。

  • 问题内容: 假设我有一个像这样的DataFrame: 索引在哪里 我想在某个索引之前(或之后)得到该行。例如,我有索引(例如,通过执行),并且我想在之前获得该行,但我不知道该行具有索引。 2个子问题: 如何获得索引的位置?像这样的东西会回来,所以我可以在到达之前 有另一种解决办法,有点像选择,或者使用grep? 问题答案: 对于第一个问题: 或者 要获得周围的环境: 我使用索引和联合来删除重复项。

  • 问题内容: 我正在尝试重新索引熊猫对象,像这样, 我正在如下所示进行操作,并且得到了错误的答案。有关如何执行此操作的任何线索? 知道为什么会这样吗? 问题答案: 为什么不简单地使用方法?

  • 问题内容: 将Pandas DataFrame写入CSV时,我需要索引从1开始而不是0。 这是一个例子: 产生以下输出: 但是我想要的输出是这样的: 我意识到可以通过在数据帧中添加一列以1为单位的整数序列来完成此操作,但是我对Pandas并不陌生,我想知道是否存在更简洁的方法。 问题答案: 索引是一个对象,默认索引从开始: 您可以使用