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

如何将DataFrame中Amount列的452.91zero类值去除字符后转为float类型

Pandas DataFrame Amount列异常值处理方案

核心实现代码

data['Amount'] = data['Amount'].astype(str).str.replace('zero', '', regex=False).astype(float)

步骤说明

  • 首先通过astype(str)将整列统一转换为字符串类型,避免混合类型数据调用字符串方法时报错
  • 调用str.replace('zero', '', regex=False)将所有单元格中的zero子串直接替换为空,regex=False指定按普通文本匹配,不需要正则解析
  • 最后调用astype(float)将处理完成的纯数字字符串转换为浮点类型

结果校验

处理完成后可以通过以下代码确认原异常行(第15行,pandas默认索引从0开始,对应索引值为14)的结果是否符合预期:

print(data.loc[14, 'Amount'])

进阶兼容方案

如果后续还会出现其他非数字后缀的异常值,可以用正则匹配仅保留数字和小数点,适配更多异常场景:

data['Amount'] = data['Amount'].astype(str).str.replace(r'[^\d.]', '', regex=True).astype(float)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 18:06:01