如何从Pandas DataFrame中移除含指定特殊字符的行?
移除DataFrame中包含指定特殊字符的行
你可以通过Pandas的str.contains()方法结合布尔索引实现需求,具体步骤如下:
完整代码实现
import pandas as pd import re # 创建目标DataFrame ds = {'col1':['a','/','b','c'], 'col2' : [1,2,3,4]} df = pd.DataFrame(data=ds) # 定义特殊字符集并生成转义后的正则表达式 chars = '¬`!"£$£#/\+*><@|' regex = f'[{"".join(map(re.escape, chars))}]' # 筛选出col1列不包含指定特殊字符的记录 filtered_df = df[~df['col1'].str.contains(regex)] print(filtered_df)
代码说明
df['col1'].str.contains(regex):生成布尔序列,标记每行col1是否匹配正则表达式中的特殊字符~:对布尔序列取反,得到不包含目标特殊字符的行的筛选条件- 用取反后的布尔条件索引原DataFrame,即可得到符合要求的结果
执行结果
col1 col2 0 a 1 2 b 3 3 c 4
内容的提问来源于stack exchange,提问作者Giampaolo Levorato
相关产品推荐
相关产品推荐

