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

我有一个模式:

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

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

解决方法:

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

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

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

df = df[~filter]

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...