无法将字符串列转换为浮点数

时间:2019-07-03 08:04:02

标签: python pandas jupyter-notebook

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

A sample from the DataFrame

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您可以按照python中建议的PV8进行操作,也可以通过替换(ctrl + h)'来使用excel清理文件。与“