我如何清理此数据类型对象并将其转换为float类型,并保持Null和NaN

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何清理此数据类型对象并将其转换为float类型,并保持Null和NaN相关的知识,希望对你有一定的参考价值。

                           Hight
0                       
1               1,82 m (6 ft 0 in)
2        1,74 m (5 ft 9 in) metres
3               1,88 m (6 ft 2 in)
4                              NaN
5       1,80 m (5 ft 11 in) metres

如何将列高转换为浮点数,保持NaN值

Hight
0                              NaN
1                             1.82 
2                             1.74
3                             1.88
4                              NaN
5                             1.80

非常感谢

答案

您可以使用pd.str.extract(),然后转换为float:

pd.str.extract()

打印:

d = 'Height':['', '1,82 m (6 ft 0 in)', '1,74 m (5 ft 9 in) metres', '1,88 m (6 ft 2 in)', np.nan, '1,80 m (5 ft 11 in) metres']

df = pd.DataFrame(d)

df['Height'] = df['Height'].str.extract(r'([\d,]+)\s*m')
df['Height'] = df['Height'].str.replace(',', '.', regex=False).astype(float)

print(df['Height'])

以上是关于我如何清理此数据类型对象并将其转换为float类型,并保持Null和NaN的主要内容,如果未能解决你的问题,请参考以下文章

我有嵌套的dict变量列表,需要将其转换为Json对象的dict变量类型

C++中operator用法

如何把一个 float 类型的数据转换为 int 类型

剪辑和类型转换 RGB 图像的更快方法

单片机编程中(IVVAVR),如何把四字节数据转换为float类型?

float和Float的区别