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

Pandas如何用正则简化DataFrame多值字符串替换并支持扩展匹配

简化实现方案

方案1:正则批量替换(适配模糊匹配需求,支持自动识别新的velvet类食品)

你可以提前定义正则匹配规则和替换结果的映射字典,一次调用完成所有替换操作,还能适配大小写、内容空格差异,以及你需要的blue velvet自动替换为dessert的需求:

# 替换规则映射:键为正则匹配模式,值为替换后的内容
replace_patterns = {
    r'(?i)apple': 'fruit',  # (?i)忽略大小写,匹配Apple、apple等所有写法
    r'(?i)beet\s*root': 'vegetable',  # \s*兼容中间有无空格,适配Beet root、Beetroot
    r'(?i)pizza': 'fast food',
    r'(?i).*velvet$': 'dessert'  # 匹配所有以velvet结尾的内容,Red velvet、blue velvet都生效
}

# 单句完成所有替换
df['food_item'] = df['food_item'].replace(replace_patterns, regex=True)

后续需要新增替换规则时,只需要在replace_patterns字典中新增对应键值对即可,不用额外加替换代码。

方案2:精确匹配简化写法

如果所有待替换内容都是固定值,不需要模糊匹配,直接用精确映射字典即可,性能更高:

replace_map = {
    'Apple': 'fruit',
    'Beet root': 'vegetable',
    'Pizza': 'fast food',
    'Red velvet': 'dessert',
    'blue velvet': 'dessert'
}
df['food_item'] = df['food_item'].replace(replace_map)

内容的提问来源于stack exchange,提问作者aristotle29

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:06:02