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

无法将DataFrame转为float类型:astype(float)报错求助

解决"could not convert string to float"错误

问题根源是你的数据里用逗号作为小数点分隔符(比如0,199525),而pandas默认只识别点(.)作为小数点,导致读取后列类型为object,直接转float失败。下面是两种快速解决方法:

方法一:读取CSV时直接处理(推荐)

在read_csv中添加decimal=','参数,让pandas自动识别逗号为小数点,读取后直接得到数值类型:

data = pd.read_csv(
    '/Users/IRENE/DOCUMENTS/ire.csv',
    names=['Bullish','Neutral','Bearish','spread','Average'], 
    header=None,
    parse_dates=True,
    decimal=','  # 指定小数分隔符为逗号
)

方法二:已读取数据后转换

如果已经把数据读进DataFrame,可先将所有数值列里的逗号替换为点,再转为float:

# 针对所有目标列处理
cols = ['Bullish','Neutral','Bearish','spread','Average']
data[cols] = data[cols].apply(lambda col: col.str.replace(',', '.').astype(float))

这样处理后,所有列都会变成float类型,后续计算就不会报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 10:30:59