¿Hay alguna manera de enumerar las ubicaciones no enmascaradas de una numpy ndarray
enmascarada (por ejemplo, en la forma en que ndenumerate
lo hace para ndarrays
normal, pero omitiendo todas las entradas enmascaradas)?numpy: ndenumerate para matrices enmascaradas?
EDITAR: para ser más precisos: la enumeración no solo debe omitir las entradas enmascaradas, sino también mostrar los índices de los no enmascarados en la matriz original. P.ej. si los primeros cinco elementos de una matriz de 1-d están enmascarados, y la siguiente tiene un valor sin máscara de 3, entonces la enumeración debería comenzar con algo como ((5,), 3), ...
.
Gracias!
PD: tenga en cuenta que, aunque es posible aplicar ndenumerate
a un ndarray
enmascarado, la enumeración resultante no discrimina entre sus entradas enmascaradas y normales. De hecho, ndenumerate
no solo no filtra las entradas enmascaradas de la enumeración, sino que ni siquiera reemplaza los valores enumerados con la constante masked
. Por lo tanto, no se puede adaptar ndenumerate
para esta tarea simplemente envolviendo ndenumerate
con un filtro adecuado.
vistazo a la función comprimido de matrices ma – tillsten