python - 如何使用正则表达式删除 python pandas DataFrame 中的行?

标签 python regex pandas

我有一个模式:

patternDel = "( \\((MoM|QoQ)\\))";

我想删除 pandas 数据框中 df['Event Name'] 列与此模式匹配的所有行。哪种方法最好?数据框中有超过 10 万行。

最佳答案

str.contains()返回一系列 bool 值,我们可以使用它们来索引我们的框架

patternDel = "( \\((MoM|QoQ)\\))"
filter = df['Event Name'].str.contains(patternDel)

我倾向于保留我们想要的东西而不是删除行。由于过滤器表示我们要删除的内容,因此我们使用 ~ 获取所有不匹配的行并保留它们

df = df[~filter]

关于python - 如何使用正则表达式删除 python pandas DataFrame 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39948757/

相关文章:

ruby - 匹配到第一个肯定的前瞻断言实例

python - 扩展 pandas 数据框以包含 'missing' 周

python - 如何基于周保存到 .csv 文件中

python - Jupyter笔记本: Is there a way to fold sections while exporting to html

python - 多种语言的名称实体识别 (NER)

python - 如何将具有多个标题的 CSV 文件读取到 pandas 中的两个 DataFrame 中,一个包含标题,另一个包含删除了一些标题的数据?

python - pandas.read_csv 将列名移动到一个之上

javascript - 正则表达式匹配以百分比开头的单词

python - 在列表中的对字符串之前用数字替换 Pandas 中的字符串

regex - RegEx用于匹配三个字母,但不匹配文本 “BUY”