NumPy-taulukon hakeminen

etsi taulukko

Voit etsiä (haeta) taulukosta tiettyä arvoa ja palauttaa saadut vastaavat indeksit.

Hakemiseen taulukosta käytä where() menetelmä.

Esimerkki

etsi arvon 4 indeksiä:

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

Suorita esimerkki

edellisessä esimerkissä palautetaan tuple:(array([3, 5, 6],)

tämä tarkoittaa, että arvo 4 esiintyy indeksissä 3, 5 ja 6.

Esimerkki

etsi arvon parillisuuden indeksiä:

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

Suorita esimerkki

Esimerkki

etsi arvon parittomuuden indeksiä:

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

Suorita esimerkki

etsintäjärjestys

on nimeltä searchsorted() menetelmä, joka suorittaa binäärisen haku taulukossa ja palauttaa indeksin, johon tietty arvo voidaan lisätä säilyttääkseen hakujärjestyksen.

oletetaan searchsorted() Menetelmä käytetään taulukon järjestämiseen.

Esimerkki

Etsi arvon 7 sisällyttämiseen sopivat indeksit:

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

Suorita esimerkki

Esimerkki selitys:Numeron 7 tulisi lisätä indeksiin 1:een säilyttääkseen järjestyksen.

Tämä menetelmä alkaa vasemmalta ja palauttaa ensimmäisen indeksin, jossa luku 7 ei ole enää suurempi kuin seuraava arvo.

Etsi oikealta

Oletusarvoisesti palautetaan oikea indeksi, mutta voimme antaa side='right'jotta palautetaan oikea indeksi.

Esimerkki

Etsi arvon 7 sisällyttämiseen sopivat indeksit oikealta aloittaen:

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

Suorita esimerkki

Esimerkki selitys:Numeron 7 tulisi lisätä indeksiin 2:een säilyttääkseen järjestyksen.

Tämä menetelmä alkaa oikealta ja palauttaa ensimmäisen indeksin, jossa luku 7 ei ole enää pienempi kuin seuraava arvo.

Useita arvoja

Etsi useita arvoja, käytä taulukkoa, jossa on määritetyt arvot.

Esimerkki

Etsi arvojen 2, 4 ja 6 sisällyttämiseen sopivat indeksit:

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

Suorita esimerkki

Palautusarvo on taulukko:[1 2 3] Sisältää kolme indeksiä, joista 2, 4 ja 6 lisätään alkuperäiseen taulukkoon säilyttääkseen järjestyksen.