Python 如何提取列的所有条目中包含部分匹配字符串的行
我有一个带有“Errors”列的数据框 我只想过滤出有特定错误的行(比如“E3”)。在本例中,我希望只显示最后一行 为了简单起见,我在这个数据帧中将错误消息替换为“E1、E2等”。但是,在实际场景中,在本例中,我将使用分隔符(“|”)管道包含一长串错误消息Python 如何提取列的所有条目中包含部分匹配字符串的行,python,dataframe,pyspark,Python,Dataframe,Pyspark,我有一个带有“Errors”列的数据框 我只想过滤出有特定错误的行(比如“E3”)。在本例中,我希望只显示最后一行 为了简单起见,我在这个数据帧中将错误消息替换为“E1、E2等”。但是,在实际场景中,在本例中,我将使用分隔符(“|”)管道包含一长串错误消息 err = 'E3' mask = df.Errors.str.split('|').apply(lambda x: all(e==err for e in x)) df[mask] # student_id name ti
err = 'E3'
mask = df.Errors.str.split('|').apply(lambda x: all(e==err for e in x))
df[mask]
# student_id name timestamp Errors
# 3 s2 sample123 t2 E3|E3|E3
另一种遮罩方式:
mask = df['error'].apply(lambda x: True if not re.sub('E3|\|','',x) else False)
欢迎使用SO-请提供一个,在这种情况下,这特别意味着数据帧应该很容易复制/可复制-这可能不是很好阅读,但很难重新创建版本。
mask = df['error'].apply(lambda x: True if not re.sub('E3|\|','',x) else False)