我有两个阵列
x = np.array([1,np.nan,3,np.nan,5])
y = np.array([1,-2,3,4,15])
现在我想选择x = np.nan
仅y
位于0
和10
之间的索引。分别是这样的:
np.where(isnan(x))
(array([1,3])
np.where(y>=0)
(array([0, 2, 3, 4])
np.where(y<10)
(array([0, 1, 2, 3])
但该怎么做:
(array[3])
答案 0 :(得分:2)
您需要使用括号(由于运算符优先级)和按位&
运算符来AND
您的条件:
In [3]:
np.where(isnan(x) & (y >=0) & (y<10))
Out[3]:
(array([3], dtype=int64),)