【发布时间】:2016-05-28 19:54:54
【问题描述】:
我正在使用下面的行来读取一个 csv 文件,其中 B 列以 str 格式结束,我无法直接将其转换为浮点数:
df = pd.read_csv('data.csv', sep=";", encoding = "ISO-8859-1")
这会生成一个数据框,其中所有列都是 str 格式:
A B
0 Emma -20,50
1 Filo -15,75
2 Theo 17,23
您可能会注意到小数点用“,”而不是“.”分隔因为它是德国的csv。 我已经尝试了以下方法(无济于事):
..., dtype={'B': np.float32}, decimal= ',' , ....
知道如何在阅读过程中完成它吗?
阅读 csv 后进行修改是有效的(但这是我想避免的低效附加步骤),这就是我使用的:
df['B'] = df['B'].str.replace(',', '.').astype(float)
【问题讨论】:
标签: python csv pandas typeconverter