Ricerca dell'array NumPy

cerca array

Puoi cercare (ricercare) un valore in un array e restituire gli indici corrispondenti.

Per cercare un array, utilizzare where() metodo.

Esempio

trova l'indice del valore 4:

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

Eseguire l'istanza

esempio precedente restituirà una tupla:(array([3, 5, 6],)

cioè il valore 4 appare agli indici 3, 5 e 6.

Esempio

trova l'indice del valore pari:

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

Eseguire l'istanza

Esempio

trova l'indice del valore dispari:

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

Eseguire l'istanza

ordinamento di ricerca

c'è un nome searchsorted() metodo, che esegue una ricerca binaria nell'array e restituisce l'indice in cui inserire il valore specificato per mantenere l'ordine di ricerca.

presupponere searchsorted() Il metodo viene utilizzato per ordinare gli array.

Esempio

Trova l'indice in cui inserire il valore 7:

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

Eseguire l'istanza

Esempio di spiegazione:Il numero 7 dovrebbe essere inserito all'indice 1 per mantenere l'ordine.

Questo metodo parte da sinistra e restituisce il primo indice in cui il numero 7 non è più maggiore del valore successivo.

Cerca da destra

Per impostazione predefinita, viene restituito l'indice più a sinistra, ma possiamo dare side='right'per restituire l'indice più a destra.

Esempio

Cerca l'indice in cui inserire il valore 7 partendo da destra:

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

Eseguire l'istanza

Esempio di spiegazione:Il numero 7 dovrebbe essere inserito all'indice 2 per mantenere l'ordine.

Questo metodo parte da destra e restituisce il primo indice in cui il numero 7 non è più minore del valore successivo.

Valori multipli

Per cercare più valori, utilizzare un array con valori specifici.

Esempio

Trova l'indice in cui inserire i valori 2, 4 e 6:

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

Eseguire l'istanza

Il valore di ritorno è un array:[1 2 3] Contiene tre indici, tra cui 2, 4, 6 saranno inseriti nell'array originale per mantenere l'ordine.