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

rub*_*fdz 5 python pandas

我有以下数据框列:

                           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
Run Code Online (Sandbox Code Playgroud)

如何将列 Hight 转换为数据类型 float 并保留 NaN 值?

期望的输出:

Hight
0                              NaN
1                             1.82 
2                             1.74
3                             1.88
4                              NaN
5                             1.80
Run Code Online (Sandbox Code Playgroud)

非常感谢提前

Qua*_*ang 11

尝试:

pd.to_numeric(df.Hight.str.extract('([\d,]+) m')[0].str.replace(',','.'))
Run Code Online (Sandbox Code Playgroud)

输出:

0     NaN
1    1.82
2    1.74
3    1.88
4     NaN
5    1.80
Name: 0, dtype: float64
Run Code Online (Sandbox Code Playgroud)