我有一个模式:
patternDel = "( \\((MoM|QoQ)\\))";
我想删除pandas dataframe中列df['Event Name']
匹配此模式的所有行。这是最好的方法吗?数据框中有超过100k行。
答案 0 :(得分:18)
str.contains()返回一系列布尔值,我们可以使用它来索引我们的帧
patternDel = "( \\((MoM|QoQ)\\))"
filter = df['Event Name'].str.contains(patternDel)
我倾向于保留我们想要的东西而不是删除行。由于过滤器代表我们要删除的内容,因此我们使用~
来获取所有不匹配的行并保留它们
df = df[~filter]