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

如何将pandas DataFrame中的数值型行值替换为指定字符串?

问题根因

你当前替换失败的核心原因是类型不匹配:site列存储的13.0是浮点数类型,但你在replace方法中传入的匹配规则是字符串'13.0',pandas的替换操作会严格校验值和类型,两者不一致自然无法命中替换逻辑,和你是否使用inplace参数没有关系。

可行解决方案

下面是几种可直接使用的写法:

  • 直接匹配浮点数替换(最推荐,不需要修改列原有类型)
df1['site'] = df1['site'].replace(13.0, 'west')

如果需要同时替换多个数值,用字典映射的写法更易维护:

replace_rule = {
    13.0: 'west',
    # 可继续追加其他需要替换的映射关系
    # 14.0: 'east'
}
df1['site'] = df1['site'].replace(replace_rule)
  • 先转列类型为字符串再替换(适合有统一字符串处理需求的场景)
# 先把site列转为字符串类型,再匹配字符串'13.0'完成替换
df1['site'] = df1['site'].astype(str).replace('13.0', 'west')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:39:05