将字符串转换为CSV文件中的float时出错

时间:2018-09-26 08:40:21

标签: python csv

我已经从Excel文件创建了CSV(逗号分隔)文件。我想使用Spyder在Python(3.5版)中对其进行分析。

我设法从上面提到的CSV文件中创建了不错的列表。我的下一个目标是将字符串转换为 floats ,以便我能够使用它们进行一些计算。但是发生了错误,我不知道该如何处理。

这是错误消息: Error Message

这是我的代码:

import pandas
colnames = ['GDP', 'Unemployment', 'CPI', 'HousePricing']
data = pandas.read_csv('C:/PATH.csv', 
                       names = colnames, header=None, sep=';')
GDP = data.GDP.tolist()
data['GDP'] = data['GDP'].astype(float)
print(GDP)

这就是我的CSV文件的外观: CSV file

我非常感谢您的帮助或提示。

1 个答案:

答案 0 :(得分:1)

使用

data['GDP'] = data['GDP'].str.replace(",", ".").astype(float)

由于逗号而出现错误。用点代替它可以解决您的问题。

演示:

import pandas as pd
df = pd.DataFrame({'GDP': ["1,21", "2.2", "3,4", "5,66", "77,09"]})
print df['GDP'].str.replace(",", ".").astype(float)

输出:

0     1.21
1     2.20
2     3.40
3     5.66
4    77.09
Name: GDP, dtype: float64