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

Python(Jupyter/Colab)中pandas浮点列转字符串如何去除.0后缀

pandas浮点列转字符串去除末尾.0后缀方案

问题根因

浮点类型数值直接调用astype(str)时,会输出浮点数的完整字符串表示,即使小数位为0也会保留.0后缀,不符合地址字段需要整数形式字符串的要求。

可行方案

根据列中是否存在缺失值,选择对应方案即可:

  • 无缺失值场景
    先将浮点列转换为整数类型,再转换为字符串,从根源上避免小数位出现:
    df4['ileads_address'] = df4['ileads_address'].astype(int).astype(str)
    
  • 存在NaN缺失值场景
    使用pandas支持空值的Int64类型(注意首字母大写)作为中间转换类型,兼容空值存储的同时不会保留.0后缀:
    df4['ileads_address'] = df4['ileads_address'].astype('Int64').astype(str)
    
    该方案转换后,原NaN值会转为字符串<NA>,如果需要将空值显示为空字符串,可以追加替换逻辑:
    df4['ileads_address'] = df4['ileads_address'].replace('<NA>', '')
    
  • 快速兜底方案(确认全量值小数位均为0时使用)
    直接对转换后的字符串做正则替换,移除末尾的.0后缀,无需处理类型转换的兼容问题:
    df4['ileads_address'] = df4['ileads_address'].astype(str).str.replace(r'\.0$', '', regex=True)
    

注意:兜底方案存在误截断风险,如果列中存在如123.45这类小数位非0的值,会被错误截断为123,非特殊场景优先选择前两种类型转换方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:21:34