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

将格式为[xx.xx]的object转float时pd.to_numeric返回NaN如何解决

问题原因

你使用pd.to_numeric直接转换返回NaN,是因为待转换的字符串首尾包含[、]非数字字符,pandas无法直接识别这类带特殊符号的字符串为数值,errors='coerce'参数会把无法转换的内容统一置为NaN。

解决方案

先通过字符串处理移除首尾的方括号,再执行数值转换即可,参考代码如下:

coeff_dfethapoly['Slope (b)_d1'] = pd.to_numeric(
    coeff_dfethapoly['Slope (b)_d1'].str.strip('[]'), 
    errors='coerce'
)

如果你的数据中还存在多余空格、方括号位置不固定的情况,可以用正则匹配提取数值部分再转换:

coeff_dfethapoly['Slope (b)_d1'] = pd.to_numeric(
    coeff_dfethapoly['Slope (b)_d1'].str.extract(r'(\d+\.?\d*)', expand=False),
    errors='coerce'
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:57:02