2017-10-15 89 views
3

简单的问题:我有一个数据集,从csv文件导入,包含一个带有数字值的字符串列。逗号后有小数位。将字符串转换为浮动熊猫

我想转换为浮动。基本上,它只是这样的:

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

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

在此先感谢。

回答

3

分配输出与replace

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

如果要用于变换指定列:

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

另一种解决方案是使用参数decimal=','read_csv,然后列正确解析到浮子:

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

非常感谢,用小数= ','在csv导入,很好。 –