将字符串(f。E. 6,6)更改为float

时间:2019-04-17 16:34:47

标签: python-3.x

我喜欢从表中更改列的数据类型。 这是现有的数据类型

-Data columns (total 7 columns):
-Nr.               30267 non-null int64
-Tag               30267 non-null object
-Datum             30267 non-null object
-Uhrzeit           30267 non-null object
-Mst01 [cm]        30267 non-null object
-Mst01 [l/s]       30267 non-null object
-(Kommentar) []    30267 non-null object

我喜欢将Mst01 [cm]和Mst01 [l / s]从字符串更改为浮点。 下面的代码应该可以解决该问题,但是pandas不能更改数据类型。

#Tab = Tab['Mst01 [cm]'].astype(float) #######

这是错误消息,我不知道为什么会发生错误。

ValueError: could not convert string to float: '6,6'

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

Python假定小数点分隔符为.。您正在尝试转换使用,作为十进制分隔符的字符串。首先在数据框上执行replace命令:

Tab['Mst01 [cm]'] = Tab['Mst01 [cm]'].str.replace(',','.').astype(float)