在numpy数组中,我想将所有nan
和inf
替换为一个固定的数字。?
a = np.arange(10.0)
a[3] = np.nan
a[5] = np.inf
a[7] = -np.inf
# a: [ 0. 1. 2. nan 4. inf 6. -inf 8. 9.]
a[np.isnan(a)] = -999
a[np.isinf(a)] = -999
# a: [ 0. 1. 2. -999. 4. -999. 6. -999. 8. 9.]
上面的代码工作正常。But I am looking for something like:
a[np.isnan(a) or np.isinf(a)] = -999
。我只是在想,如果a的每一项都只检查一次可能会更好。
最佳答案
this seems to work:
a[np.isnan(a) | np.isinf(a)] = 2
。
布尔numpy数组可以与位操作(如&and)结合使用|
关于python - python:在numpy中合并屏蔽,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45614447/