舍入小数Python

时间:2016-08-12 02:20:48

标签: python pandas

我是python pandas的新手,由于小数点和零之间有一个空格,我在尝试对列中的所有值进行舍入时遇到了困难。例如,

       Hi
       21. 0
       8. 0
       52. 0
       45. 0

我尝试使用下面的当前代码,但它给了我:

  

float()的无效文字:21。0

       df.Hi.astype(float).round()

2 个答案:

答案 0 :(得分:1)

在转换为float之前,尝试在字符串上使用replace替换字符串中的所有空格:

df.Hi.str.replace(' ', '').astype(float).round()

答案 1 :(得分:0)

如果我理解正确,您希望将Hi列中的值转换为float

小数点和零之间有一个空格,表示您的值是字符串。

您可以使用float功能将其转换为lambda

df['Hi'] = df['Hi'].apply(lambda x: x.replace(" ", "")).astype(float)
print(df)
    Hi
0  21.0
1   8.0
2  52.0
3  45.0

print(df.dtypes)
Hi    float64
dtype: object