Numpy suodatin

Numpy Suodatin



Elementtien hakemista tai elementtien hankkimista joistakin tiedoista kutsutaan suodattamiseksi. NumPy on paketti, jonka avulla voimme luoda taulukoita ja tallentaa minkä tahansa tyyppistä dataa taulukon muodossa. Kun kyse on taulukoiden suodattamisesta työskennellessään pythonin tarjoamien NumPy-pakettien kanssa, sen avulla voimme suodattaa tai saada tietoja taulukoista käyttämällä NumPyn tarjoamia sisäänrakennettuja toimintoja. Boolen indeksiluetteloa, luetteloa taulukon paikkoja vastaavista Boolen arvoista, voidaan käyttää taulukoiden suodattamiseen. Jos taulukon indeksin elementti on tosi, se tallennetaan taulukkoon, ellei elementtiä suljeta pois taulukosta.

Oletetaan, että meillä on opiskelijoiden tiedot tallennettuina taulukoiden muodossa ja haluamme suodattaa epäonnistuneet opiskelijat pois. Suodatamme taulukon ja suljemme pois epäonnistuneet opiskelijat, jolloin saadaan uusi taulukko hyväksytyistä oppilaista.

NumPy-taulukon suodatusvaiheet

Vaihe 1: Tuodaan NumPy-moduulia.







Vaihe 2: Matriisin luominen.



Vaihe 3: Lisää suodatusehto.



Vaihe 4: Luo uusi suodatettu taulukko.





Syntaksi:

On olemassa useita tapoja suodattaa taulukoita. Se riippuu suodattimen kunnosta, esimerkiksi jos meillä on vain yksi ehto vai useampi kuin yksi ehto.

Tapa 1: Yhdellä ehdolla noudatamme seuraavaa syntaksia

joukko [ joukko < kunto ]

Yllä mainitussa syntaksissa 'array' on sen taulukon nimi, josta suodatamme elementit. Ja ehto on tila, jossa elementit suodatetaan, ja operaattori '<' on matemaattinen merkki, joka edustaa pienempiä kuin. On tehokasta käyttää sitä, kun meillä on vain yksi ehto tai lause.



Tapa 2: 'OR'-operaattorin käyttäminen

joukko [ ( joukko < kunto1 ) | ( joukko > kunto 2 ) ]

Tässä menetelmässä 'taulukko' on sen taulukon nimi, josta suodatamme arvot ja ehto välitetään sille. Operaattori '|' on tottunut esittämään 'OR'-funktiota, mikä tarkoittaa, että molemmista ehdoista yhden pitäisi olla tosi. Se on hyödyllinen, kun ehtoja on kaksi.

Tapa 3: 'AND'-operaattorin käyttäminen.

joukko [ ( joukko < kunto1 ) & ( joukko > kunto 2 ) ]

Seuraavassa syntaksissa 'array' on suodatettavan taulukon nimi. Kun taas ehto on tila, kuten yllä olevassa syntaksissa on käsitelty, kun taas '&'-operaattori on AND-operaattori, mikä tarkoittaa, että molempien ehtojen on oltava tosi.

Tapa 4: Suodatus listattujen arvojen mukaan

joukko [ esim. in1d ( joukko , [ Luettelo arvoista ] ) ]

Tässä menetelmässä läpäisimme määritetyn taulukon ”np.in1d”, jota käytetään kahden taulukon vertailuun, onko suodatettavan taulukon elementti olemassa toisessa taulukossa vai ei. Ja taulukko välitetään np.in1d-funktiolle, joka suodatetaan annetusta taulukosta.

Esimerkki # 01:

Toteutetaan nyt edellä käsitelty menetelmä esimerkissä. Ensinnäkin sisällytämme Pythonin tarjoamat NumPy-kirjastomme. Sitten luomme taulukon nimeltä 'my_array', joka sisältää arvot '2', '3', '1', '9', '3', '5', '6' ja '1'. Seuraavaksi välitämme suodatinkoodimme, joka on 'my_array[(my_array < 5)]' print-lauseeseen, mikä tarkoittaa, että suodatamme arvot, jotka ovat pienempiä kuin '5'. Seuraavalla rivillä loimme toisen nimijoukon 'array', joka vastaa arvoista '1', '2', '6', '3', '8', '1' ja '0'. Tulostuslauseeseen välitimme ehdon, että tulostamme arvot, jotka ovat suurempia kuin 5.

Lopuksi loimme toisen taulukon, jonka nimesimme 'arr'. Se sisältää arvot '6', '7', '10', '12' ja '14'. Nyt tälle taulukolle tulostetaan arvo, jota ei ole taulukossa nähdäksemme, mitä tapahtuu, jos ehto ei täsmää. Tätä varten lähdimme ehdon, joka suodattaa arvon, joka on yhtä suuri kuin arvo '5'.

tuonti nuhjuinen kuten esim.

my_array = esim. joukko ( [ kaksi , 3 , 1 , 9 , 3 , 5 , kaksi , 6 , 1 ] )

Tulosta ( 'arvot alle 5' , my_array [ ( my_array < 5 ) ] )

joukko = esim. joukko ( [ 1 , kaksi , 6 , 3 , 8 , 1 , 0 ] )

Tulosta ( 'arvot yli 5' , joukko [ ( joukko > 5 ) ] )

arr = esim. joukko ( [ 6 , 7 , 10 , 12 , 14 ] )

Tulosta ( 'arvot ovat 5' , arr [ ( arr == 5 ) ] )

Koodin suorittamisen jälkeen meillä on tuloksena seuraava tulos, jossa olemme näyttäneet 3 lähtöä, joista ensimmäinen on alle '5':n elementeille, toisessa suorituksessa tulostimme arvot, jotka ovat suurempia kuin '5'. Lopuksi tulostimme arvon, jota ei ole olemassa, koska näemme, että se ei näytä virhettä, mutta näytimme tyhjän taulukon, mikä tarkoittaa, että haluttua arvoa ei ole annetussa taulukossa.

Esimerkki # 02:

Tässä tapauksessa käytämme joitain menetelmiä, joissa voimme käyttää useampaa kuin yhtä ehtoa taulukoiden suodattamiseen. Suorittaaksemme sen, tuomme yksinkertaisesti NumPy-kirjaston ja luomme sitten yksiulotteisen taulukon, jonka koko on '9', jonka arvot ovat '24', '3', '12', '9', '3', '5', '2', '6' ja '7'. Seuraavalla rivillä käytimme print-käskyä, jolle olemme välittäneet taulukon, jonka olemme alustaneet nimellä “my_array” ehdolla argumenttina. Tässä olemme läpäisseet ehdon tai, mikä tarkoittaa molemmista, että yhden ehdon on oltava tosi. Jos molemmat ovat tosia, se näyttää tiedot molemmista ehdoista. Tässä tilassa haluamme tulostaa arvot, jotka ovat pienempiä kuin '5' ja suurempia kuin '9'. Seuraavalla rivillä käytimme JA-operaattoria tarkistaaksemme, mitä tapahtuu, jos käytämme ehtoa taulukon suodattamiseen. Tässä tilassa näytimme arvot, jotka ovat suurempia kuin '5' ja pienempiä kuin '9'.

Tuonti numpy kuten esim.

my_array = esim. joukko ( [ 24 , 3 , 12 , 9 , 3 , 5 , kaksi , 6 , 7 ] )

Tulosta ( 'arvot alle 5 tai suurempi kuin 9 , my_array [ ( my_array < 5 ) | ( my_array > 9 ) ] )

Tulosta ( 'arvot suurempia kuin 5 ja vähemmän kuin 9 , my_array [ ( my_array > 5 ) & ( my_array < 9 ) ] )

Kuten alla olevassa katkelmassa näkyy, yllä olevalle koodille näytetään tuloksemme, jossa suodatimme taulukon ja saimme seuraavan tuloksen. Kuten voimme nähdä, arvot yli 9 ja pienemmät kuin 5 näytetään ensimmäisessä lähdössä ja arvot välillä 5 ja 9 jätetään huomiotta. Kun taas seuraavalle riville olemme tulostaneet arvot '5' ja '9' välillä, jotka ovat '6' ja '7'. Muut taulukoiden arvot eivät näy.

Johtopäätös

Tässä oppaassa olemme keskustelleet lyhyesti NumPy-paketin tarjoamien suodatusmenetelmien käytöstä. Olemme ottaneet käyttöön useita esimerkkejä selvittääksemme sinulle parhaan tavan ottaa käyttöön numpyn tarjoamat suodatusmenetelmät.