python - metodo - Índice de elemento en la matriz Numpy
metodo shape python (2)
Use np.where
para obtener los índices donde una condición dada es True
.
Ejemplos:
Para un np.ndarray
2D:
i,j = np.where( a==value )
Para una matriz 1D:
i, = np.where( a==value )
Si también funciona para condiciones como >=
, <=
!=
Y así sucesivamente ...
También puede crear una subclase de np.ndarray
con un método index()
:
class myarray(np.ndarray):
def __new__(cls, *args, **kwargs):
return np.array(*args, **kwargs).view(myarray)
def index(self, value):
return np.where(self==value)
Pruebas:
a = myarray([1,2,3,4,4,4,5,6,4,4,4])
a.index(4)
#(array([ 3, 4, 5, 8, 9, 10]),)
En python podemos obtener el índice de un valor en una matriz mediante el uso de .index () ¿Cómo puedo hacerlo con una matriz numpy?
Cuando trato de hacer:
decoding.index(i)
Dice que la biblioteca numpy no es compatible con esta función. ¿Hay alguna forma de hacerlo? Gracias.
Estoy dividido entre estas dos formas de implementar un índice de una matriz numpy.
idx = list(classes).index(var)
idx = np.where(classes == var)
Ambos toman el mismo número de caracteres, pero el segundo método devuelve un int
, en lugar de un nparray
.