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

拟合房价数据集时出现could not convert string to float报错如何解决

问题根因

报错触发的核心原因是Area列在读取CSV时因值带有千位分隔符逗号,被pandas识别为字符串(object)类型,而你在列转换器中指定将Area列传入MinMaxScaler做归一化,该算子要求输入为数值类型,执行时尝试将字符串转浮点失败,触发报错。

解决方法

你可以任选以下任意一种方案处理Area列的类型问题:

方案1:读取CSV时自动识别千位分隔符

修改CSV读取代码,添加thousands参数,pandas会自动将带逗号的数值转换为数值类型:

# 原代码 pd.read_csv('houseprice.csv') 替换为下面的代码
houseprice = pd.read_csv('houseprice.csv', thousands=',')

方案2:读取后手动转换列类型

如果不方便修改读取逻辑,也可以读取后手动处理Area列的千位分隔符再转数值:

houseprice = pd.read_csv('houseprice.csv')
# 新增下面这行处理Area列
houseprice['Area'] = houseprice['Area'].str.replace(',', '').astype(float)
houseprice = houseprice.drop("Price", axis=1)

验证修复

修改完成后可执行下面的代码确认Area列已转为数值类型:

print(houseprice['Area'].dtypes)
# 输出为int64或float64即为修复成功

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:06:07