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

Ale*_*der 11 python regex pandas

我有一个模式:

patternDel = "( \\((MoM|QoQ)\\))";
Run Code Online (Sandbox Code Playgroud)

我想删除pandas dataframe中列df['Event Name']匹配此模式的所有行.这是最好的方法吗?数据帧中有超过100k行.

Bob*_*ner 23

str.contains()返回一系列布尔值,我们可以使用它来索引我们的帧

patternDel = "( \\((MoM|QoQ)\\))"
filter = df['Event Name'].str.contains(patternDel)
Run Code Online (Sandbox Code Playgroud)

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

df = df[~filter]
Run Code Online (Sandbox Code Playgroud)