pio*_*kuc 6 python numpy missing-data
我有一个数字列表,我把它放入一个numpy数组:
>>> import numpy as np
>>> v=np.array([10.0, 11.0])
Run Code Online (Sandbox Code Playgroud)
然后我想从数组中的每个值中减去一个数字.它可以像numpy数组一样完成:
>>> print v - 1.0
[ 9. 10.]
Run Code Online (Sandbox Code Playgroud)
不幸的是,我的数据通常包含缺失值,表示为None.对于这种数据,我收到此错误:
>>> v=np.array([10.0, 11.0, None])
>>> print v - 1.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
Run Code Online (Sandbox Code Playgroud)
我想为上面的例子得到的是:
[ 9. 10. None]
Run Code Online (Sandbox Code Playgroud)
我怎样才能以简单有效的方式实现它?
我的建议是使用蒙面数组:
v = np.ma.array([10., 11, 0],mask=[0, 0, 1])
print v - 10
>>> [0.0 1.0 --]
Run Code Online (Sandbox Code Playgroud)
或NaNs
v = np.array([10.,11,np.nan])
print v - 10
>>> [ 0. 1. nan]
Run Code Online (Sandbox Code Playgroud)
我实际上更喜欢NaNs作为缺失的数据指标.
| 归档时间: |
|
| 查看次数: |
978 次 |
| 最近记录: |