You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中删除含空格与无空格变体文本的行

高效过滤带空格/无空格变体文本的DataFrame行

核心思路

不用手动枚举所有带空格和无空格的文本变体,通过正则表达式的\s?(匹配0个或1个空白字符)统一匹配两种格式,大幅减少重复工作。

针对当前QR场景的解决方案

直接构造匹配QRCODE和QR CODE的正则模式,生成过滤掩码后删除对应行:

# 匹配QR后可选空格+CODE,case=False忽略大小写(按需开启)
mask = df.Description.str.contains(r'QR\s?CODE', case=False)
# 保留不匹配的行
df = df[~mask]

通用多场景解决方案

如果需要同时处理多种类似变体(如Wallmart/Wall mart、eBay/e Bay),可以批量定义模式并合并:

# 每个模式处理一组带/不带空格的变体
target_patterns = [
    r'QR\s?CODE',
    r'Wall\s?mart',
    r'e\s?Bay'
]
# 合并所有模式为一个正则表达式
combined_regex = '|'.join(target_patterns)

# 生成过滤掩码
mask = df.Description.str.contains(combined_regex, case=False)
# 过滤掉匹配的行
df = df[~mask]

模式调整说明

  • 如果需要匹配多个空格(比如QR CODE),把\s?换成\s*(匹配0个或任意多个空白字符)
  • 如果只想匹配单个空格,可以写成 ?(注意空格加问号)
  • case=False参数可按需关闭,用于严格匹配大小写的场景

内容的提问来源于stack exchange,提问作者HO-N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:42:35