Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何清理此数据类型对象并将其转换为float类型_Python_Pandas - Fatal编程技术网

Python 如何清理此数据类型对象并将其转换为float类型

Python 如何清理此数据类型对象并将其转换为float类型,python,pandas,Python,Pandas,如何将列High转换为数据类型float,并保持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

如何将列High转换为数据类型float,并保持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
您可以使用:

                             Hight
0                              NaN
1                             1.82 
2                             1.74
3                             1.88
4                              NaN
5                             1.80
mask
带有
inplace=True

np.其中

你的解决方案对我来说很好。非常感谢,但它不起作用,因为浮点是数字,不能转换为Null或NaN。我试图做的是将包含数字类型对象的数据转换为float,但保持空值。我不确定我是否表达得恰当。不,你没有
np.nan
是一个数值对象。它被认为是一个
float
值。在这一点上,我不确定你的意思。我有一个包含数字和字母类型对象的列,我通过使用.fillna和ceros清理了它,删除了不必要的字符,只保留数字类型float,尽管我希望将null值保留为null,而不是它们刚刚变成的0.00。提前多谢
fillna
做了你不想做的事。也就是说,它用零替换空值。我将删除我的答案以减少混淆。我必须这样做,以填充行中缺少的值
 df.loc[df['column'] == 0.0, 'column'] = np.nan
df['column'].mask(df['column'].eq(0), inplace=True)
a = df['column'].to_numpy()
df['column'] = np.where(a, a, np.nan)