我有一个模式:
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/