将字符串转换为浮动pandas

时间:2017-10-15 18:37:12

标签: python pandas

简单问题:我有一个从csv文件导入的数据集,其中包含一个带有数值的字符串列。逗号后面是小数位。

我想转换为float。基本上就是这样:

x = ['27,10083']
df = pd.DataFrame(x)
df.astype(float)

为什么这不起作用以及如何解决这个简单问题?

提前致谢。

1 个答案:

答案 0 :(得分:5)

使用replace分配输出:

df = df.replace(',','.', regex=True).astype(float)

如果要指定要转换的列:

cols = ['col1','col2']
df[cols] = df[cols].replace(',','.', regex=True).astype(float)

另一个解决方案是在read_csv中使用参数decimal=',',然后将列正确解析为浮点数:

df = pd.read_csv(file, decimal=',')