【问题标题】:Delete Pandas DataFrame row if contains character [duplicate]如果包含字符,则删除 Pandas DataFrame 行[重复]
【发布时间】:2019-06-17 04:55:42
【问题描述】:

我正在尝试删除任何包含“?”的行在特定的列中。

我有这行:

df[~df.C.str.contains("?")]

这是行不通的。我收到以下错误:

错误:在位置 0 没有可重复的内容

但是以下确实有效

df[~df.C.str.contains("abc")]

有谁知道它是关于什么的?停止运行?

【问题讨论】:

  • df[~df.C.str.contains("?",regex=False)] ?
  • @BradSolomon - 寻找更好的骗子
  • @BradSolomon 检查此链接stackoverflow.com/questions/54219706/…
  • 是的 - 这是一个更好的匹配,没有双关语@jezrael

标签: pandas


【解决方案1】:

.str.contains() 默认需要一个正则表达式; ? is treated as a metacharacter,单独使用它会引发 re.error.* 传递 regex=False 以搜索文字“?”人物:

df[~df.C.str.contains("?", regex=False)]

* 见re.compile("?")

【讨论】:

  • 谢谢你的作品。在任何地方都找不到答案。一旦计时器到期,我会接受
猜你喜欢
  • 2019-01-17
  • 2017-03-18
  • 1970-01-01
  • 2019-09-14
  • 2019-08-11
  • 2022-01-03
  • 2019-02-26
  • 2022-11-07
  • 2022-08-11
相关资源
最近更新 更多