NumPy taulukon suodatus
- Edellinen sivu NumPy taulukon järjestäminen
- Seuraava sivu NumPy satunnaisuus
Taulukon suodatus
Suodattaminen taulukosta tarkoittaa, että otetaan joitakin elementtejä nykyisestä taulukosta ja luodaan siitä uusi taulukko.
NumPy:ssä käytämme布尔索引列表aa taulukon suodattamiseen.
布尔索引列表是与数组中的索引相对应的布尔值列表。
Jos indeksin arvo on True
Jos elementti sisältyy suodatettuun taulukkoon; jos indeksin arvo on False
Jos elementti poistetaan suodatetusta taulukosta.
Esimerkki
Luo taulukko indeksien 0 ja 2, 4 elementeistä:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) x = [True, False, True, False, True] newarr = arr[x] print(newarr)
Esimerkki palauttaa [61, 63, 65]
Miksi?
Koska uusi suodatin sisältää vain suodattimien taulukon arvot True
arvoja, joten tässä tapauksessa indeksit ovat 0 ja 2, 4.
suodattimien taulukon luomista
Esimerkissä käytimme True
ja False
Arvo on kovakoodattu, mutta yleensä käytetään ehtoja luodakseen suodattimien taulukon.
Esimerkki
Luo suodattimena数组, joka palauttaa vain yli 62 olevat arvot:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) # Luo tyhjä lista filter_arr = [] # Käy läpi arr:n jokainen elementti for element in arr: Jos elementti on suurempi kuin 62, aseta arvo True, muuten False: if element > 62: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Esimerkki
Luo suodattimena数组, joka palauttaa vain alkuperäisessä arrayssä olevat parilliset elementit:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) # Luo tyhjä lista filter_arr = [] # Käy läpi arr:n jokainen elementti for element in arr: # Jos elementti voidaan jakaa 2:lla kokonaislukuna, aseta arvo True, muuten False if element % 2 == 0: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Luo suodattimena suoraan arraysta
Edellinen esimerkki on erittäin yleinen tehtävä NumPy:ssä, ja NumPy tarjoaa hyvän ratkaisun ongelmaan.
Voimme korvata suoraan ehdot arraysssa iteratiivisella muuttujalla, ja se toimii odotetusti.
Esimerkki
Luo suodattimena数组, joka palauttaa vain yli 62 olevat arvot:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) filter_arr = arr > 62 newarr = arr[filter_arr] print(filter_arr) print(newarr)
Esimerkki
Luo suodattimena数组, joka palauttaa vain alkuperäisessä arrayssä olevat parilliset elementit:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) filter_arr = arr % 2 == 0 newarr = arr[filter_arr] print(filter_arr) print(newarr)
- Edellinen sivu NumPy taulukon järjestäminen
- Seuraava sivu NumPy satunnaisuus