如何将原始数组(数据)中的所需数组进行子集化,将其他元素转换为np.nan?
import numpy as np
data = np.array([1,1,1,2,2,2,3,3,3,4,4,4,5,5,5])
required = np.where((data <= 2) & (data >= 4),data,np.nan)
print (required)
必需的数组必须如下:
[1,1,1,2,2,2,nan,nan,nan,4,4,4,5,5,5]
答案 0 :(得分:3)
我认为你想要or
,而不是and
(或者,|
而不是&
):
>>> import numpy as np
>>> data = np.array([1,1,1,2,2,2,3,3,3,4,4,4,5,5,5])
>>> required = np.where((data <= 2) | (data >= 4),data,np.nan)
>>> required
array([ 1., 1., 1., 2., 2., 2., nan, nan, nan, 4., 4.,
4., 5., 5., 5.])