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

Python Pandas如何基于部分匹配替换DataFrame列中的指定字符串

解决方案

你已经完成了列内容转小写、去首尾空格、移除前缀的清洗操作,只需要一行代码即可完成所有含real字段的内容替换:

# 写法1:用where实现
df['Occupation'] = df['Occupation'].where(~df['Occupation'].str.contains('real', na=False), 'realestate')

# 写法2:用loc索引赋值实现(更直观)
df.loc[df['Occupation'].str.contains('real', na=False), 'Occupation'] = 'realestate'

代码说明

  • str.contains('real', na=False) 会匹配所有包含real子串的单元格,na=False用于处理空值,避免空值抛出报错,空值会被判定为不匹配,保留原值
  • 两种写法都是一次性覆盖所有含real的内容,不需要写几十条替换规则,单次运行即可全部替换完成

之前需要多次运行才生效的原因

你之前的批量替换规则,有一部分写在转小写、去空格、移除前缀的清洗操作之前,大小写差异、前缀、首尾空格的存在会导致很多匹配项第一次没有命中,后续清洗操作完成后再次运行替换才能命中剩余内容,所以需要重复运行多次才能覆盖全部匹配项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:09:02