首页 > 解决方案 > 无法将字符串列转换为浮点数

问题描述

我正在尝试在 jupyter 笔记本中训练线性回归模型并加载通过 Google 表格创建的 csv 文件。所有数据都保存为工作表中的数字,但是当我将 CSV 加载到 Jupyter 中时,它变成了一个字符串,我无法将其转换回来,它给出了以下错误:无法将字符串转换为浮点数:'10.801。 68'

来自 DataFrame 的示例

已经用点更改了逗号并尝试了以下代码:

df.columns=['Data', 'Price', 'Volume']
df['Price'] = df['Price'].str.replace(',','.')
df['Price'] = df['Price'].astype(float)

标签: pythonpandasjupyter-notebook

解决方案


您需要删除 . 正如 Yatu 所说,从您的 '10.801.68' 中:df['Price'] = df['Price'].str.replace(',',''),或尝试在读取 csv 文件时更改千位分隔符,例如: pd.read_csv(thousands=r'.')

您的 csv 文件中的数字格式(我假设保存在 Windows 上)与 python 逻辑完全不同,我会尝试在阅读过程中直接调整它。


推荐阅读