Ответ 1
np.isnan в сочетании с np.argwhere
x = np.array([[1,2,3,4],
[2,3,np.nan,5],
[np.nan,5,2,3]])
np.argwhere(np.isnan(x))
выход:
array([[1, 2],
[2, 0]])
Скажем, теперь у меня есть массив numpy, который определяется как
[[1,2,3,4],
[2,3,NaN,5],
[NaN,5,2,3]]
Теперь я хочу иметь список, содержащий все индексы отсутствующих значений, которые в этом случае [(1,2),(2,0)]
.
Можно ли мне это сделать?
np.isnan в сочетании с np.argwhere
x = np.array([[1,2,3,4],
[2,3,np.nan,5],
[np.nan,5,2,3]])
np.argwhere(np.isnan(x))
выход:
array([[1, 2],
[2, 0]])
Вы можете использовать np.where
для соответствия логическим условиям, соответствующим Nan
значениям массива, и map
каждому результату сгенерируйте список tuples
.
>>>list(map(tuple, np.where(np.isnan(x))))
[(1, 2), (2, 0)]