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

时间:2016-10-09 21:31:41

标签: python regex pandas

我有一个模式:

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

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

1 个答案:

答案 0 :(得分:18)

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

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

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

df = df[~filter]