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

Python提取float64类型变量首数字失败问题求助

问题解决方法

关于str(app_invoice['INVOICE_AMOUNT'])输出带\n的原因

你执行的是把整个Series对象转成字符串,Pandas在打印Series时会用换行符分隔每一行数据,所以输出里会出现\n。如果要查看单个值的字符串形式,得取Series里的单个元素,比如str(app_invoice['INVOICE_AMOUNT'].iloc[0]),这样就不会有换行符了。

提取float64类型INVOICE_AMOUNT首数字的正确方法

直接对Series操作时,不能用全局的str()函数,得用Pandas的字符串方法,步骤如下:

  • 先把float类型转为字符串:用.astype(str)方法,注意要处理可能的NaN值(如果有的话)
  • 提取首字符:用.str[0]方法
  • 可选:转成数值类型(如果需要)

示例代码:

# 处理非空值,提取首数字
app_invoice['FIRST_DIGIT'] = app_invoice['INVOICE_AMOUNT'].astype(str).str[0]

# 如果有NaN值,先过滤或填充
# 比如填充0后再处理
app_invoice['FIRST_DIGIT'] = app_invoice['INVOICE_AMOUNT'].fillna(0).astype(str).str[0]

另外要注意:如果数值是负数(比如-123.45),首字符会是'-',如果只需要数字部分,可以先取绝对值再处理:

app_invoice['FIRST_DIGIT'] = app_invoice['INVOICE_AMOUNT'].abs().astype(str).str[0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:42:33