Búsqueda de array en NumPy

buscar en el array

Puede buscar (recuperar) un valor en el array y luego devolver los índices coincidentes.

Para buscar en el array, utilice where() método.

Ejemplo

encontrar los índices de valores 4:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)

Ejemplo de ejecución

en el ejemplo anterior se devolverá una tupla:(array([3, 5, 6],

lo que significa que el valor 4 aparece en los índices 3, 5 y 6.

Ejemplo

encontrar los índices de valores pares:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 0)
print(x)

Ejemplo de ejecución

Ejemplo

encontrar los índices de valores impares:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 1)
print(x)

Ejemplo de ejecución

ordenamiento de búsqueda

hay un nombre llamado searchsorted() método, que realiza una búsqueda binaria en el array y devuelve el índice en el que se insertará el valor especificado para mantener el orden de búsqueda.

asumir searchsorted() Este método se utiliza para ordenar arrays.

Ejemplo

Buscar el índice donde se debe insertar el valor 7:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)

Ejemplo de ejecución

Ejemplo de explicación:El número 7 debe insertarse en el índice 1 para mantener el orden.

Este método comienza a buscar desde la izquierda y devuelve el primer índice donde el número 7 ya no es mayor que el siguiente valor.

Búsqueda desde la derecha

Por defecto, devuelve el índice más a la izquierda, pero podemos especificar side='right'para devolver el índice más a la derecha.

Ejemplo

Buscar el índice donde se debe insertar el valor 7, comenzando desde la derecha:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)

Ejemplo de ejecución

Ejemplo de explicación:El número 7 debe insertarse en el índice 2 para mantener el orden.

Este método comienza a buscar desde la derecha y devuelve el primer índice donde el número 7 ya no es menor que el siguiente valor.

Valores múltiples

Para buscar múltiples valores, utilice un array con valores específicos.

Ejemplo

Buscar los índices donde se deben insertar los valores 2, 4 y 6:

import numpy as np
arr = np.array([1, 3, 5, 7])
x = np.searchsorted(arr, [2, 4, 6])
print(x)

Ejemplo de ejecución

El valor de retorno es un array:[1 2 3] Incluye tres índices, entre los cuales se insertarán 2, 4, 6 en el array original para mantener el orden.