熊猫:转换为数字,必要时创建NaN

熊猫:转换为数字,必要时创建NaN

假设我在数据框中有一个列,其中包含一些数字和一些非数字


>> df['foo']

0       0.0

1     103.8

2     751.1

3       0.0

4       0.0

5         -

6         -

7       0.0

8         -

9       0.0

Name: foo, Length: 9, dtype: object

如何将此列转换为np.float,并将其他所有不浮动的列转换为NaN?


当我尝试:


>> df['foo'].astype(np.float)

要么


>> df['foo'].apply(np.float)

我明白了 ValueError: could not convert string to float: -


慕神8447489
浏览 485回答 3
3回答

收到一只叮咚

使用convert_objectsSeries方法(和convert_numeric):In [11]: sOut[11]: 0    103.81    751.12      0.03      0.04        -5        -6      0.07        -8      0.0dtype: objectIn [12]: s.convert_objects(convert_numeric=True)Out[12]: 0    103.81    751.12      0.03      0.04      NaN5      NaN6      0.07      NaN8      0.0dtype: float64注意:这也可用作DataFrame方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python