Filter Numpy

Filter Numpy



Pridobivanje elementov ali pridobivanje elementov iz nekaterih podatkov je znano kot filtriranje. NumPy je paket, ki nam omogoča ustvarjanje matrik in shranjevanje poljubnih vrst podatkov v obliki matrike. Ko gre za filtriranje v nizih med delom s paketi NumPy, ki jih ponuja python, nam omogoča filtriranje ali pridobivanje podatkov iz nizov z uporabo vgrajenih funkcij, ki jih ponuja NumPy. Seznam logičnih indeksov, seznam logičnih vrednosti, ki ustrezajo položajem matrike, je mogoče uporabiti za filtriranje matrik. Če je element v indeksu matrike resničen, bo shranjen v matriki, razen če je element izključen iz matrike.

Recimo, da imamo podatke študentov shranjene v obliki nizov in želimo izločiti neuspešne študente. Enostavno bomo filtrirali matriko in izločili neuspešne študente ter dobili bomo novo matriko opravljenih študentov.

Koraki za filtriranje matrike NumPy

Korak 1: Uvoz modula NumPy.







2. korak: Ustvarjanje matrike.



3. korak: Dodajte pogoj filtriranja.



4. korak: Ustvarite novo filtrirano matriko.





Sintaksa:

Obstaja več načinov za filtriranje nizov. Odvisno je od stanja filtra, na primer, če imamo samo en pogoj ali imamo več kot en pogoj.

Metoda 1: Za en pogoj bomo upoštevali naslednjo sintakso

niz [ niz < stanje ]

V zgoraj omenjeni sintaksi je 'matrika' ime matrike, iz katere bomo filtrirali elemente. In pogoj bo stanje, v katerem so elementi filtrirani, operator '<' pa je matematični znak, ki predstavlja manj kot. Učinkovito ga je uporabiti, ko imamo samo en pogoj ali izjavo.



2. način: Uporaba operatorja 'ALI'.

niz [ ( niz < stanje1 ) | ( niz > pogoj2 ) ]

V tej metodi je 'matrika' ime matrike, iz katere bomo filtrirali vrednosti in ji je posredovan pogoj. Operator “|” se uporablja za predstavitev funkcije »ALI«, kar pomeni, da mora biti eden od obeh pogojev resničen. Uporabno je, kadar sta podana dva pogoja.

3. način: Uporaba operatorja »IN«.

niz [ ( niz < stanje1 ) & ( niz > pogoj2 ) ]

V naslednji sintaksi je »matrika« ime matrike, ki jo želite filtrirati. Medtem ko bo pogoj stanje, kot je opisano v zgornji sintaksi, medtem ko je uporabljeni operator »&« operator IN, kar pomeni, da morata biti oba pogoja resnična.

4. način: Filtriranje po navedenih vrednostih

niz [ npr. in1d ( niz , [ Seznam vrednosti ] ) ]

Pri tej metodi smo posredovali našo definirano matriko »np.in1d«, ki se uporablja za primerjavo dveh matrik, ne glede na to, ali je element matrike, ki ga želite filtrirati, prisoten v drugi matriki ali ne. Matrika se posreduje funkciji np.in1d, ki jo je treba filtrirati iz dane matrike.

Primer št. 01:

Zdaj pa implementirajmo zgoraj obravnavano metodo v primeru. Najprej bomo vključili naše knjižnice NumPy, ki jih ponuja Python. Nato bomo ustvarili matriko z imenom 'my_array', ki bo vsebovala vrednosti '2', '3', '1', '9', '3', '5', '6' in '1'. Nato bomo posredovali našo kodo filtra, ki je »moja_matrika[(moja_matrika < 5)]« v izpis za tiskanje, kar pomeni, da filtriramo vrednosti, ki so nižje od »5«. V naslednji vrstici smo ustvarili drugo matriko z imenom 'array', ki je odgovorna za vrednosti '1', '2', '6', '3', '8', '1' in '0'. Stavku za tiskanje smo posredovali pogoj, da bomo izpisali vrednosti, ki so večje od 5.

Nazadnje smo ustvarili še eno matriko, ki smo jo poimenovali »arr«. Vsebuje vrednosti '6', '7', '10', '12' in '14'. Zdaj bomo za to matriko natisnili vrednost, ki ne obstaja v matriki, da vidimo, kaj se bo zgodilo, če se pogoj ne ujema. Da bi to naredili, smo posredovali pogoj, ki bo filtriral vrednost, ki je enaka vrednosti '5'.

uvoz numpy kot npr.

moja_matrika = npr. niz ( [ dva , 3 , 1 , 9 , 3 , 5 , dva , 6 , 1 ] )

tiskanje ( 'vrednosti manjše od 5' , moja_matrika [ ( moja_matrika < 5 ) ] )

niz = npr. niz ( [ 1 , dva , 6 , 3 , 8 , 1 , 0 ] )

tiskanje ( 'vrednosti večje od 5' , niz [ ( niz > 5 ) ] )

prir = npr. niz ( [ 6 , 7 , 10 , 12 , 14 ] )

tiskanje ( 'vrednosti enake 5' , prir [ ( prir == 5 ) ] )

Po izvedbi kode imamo kot rezultat naslednji izhod, v katerem smo prikazali 3 izhode, prvi je za elemente, manjše od '5', pri drugi izvedbi pa smo natisnili vrednosti, večje od '5'. Na koncu smo izpisali vrednost, ki ne obstaja, saj vidimo, da ne prikazuje nobene napake, ampak je prikazala prazno matriko, kar pomeni, da želene vrednosti v dani matriki ni.

Primer št. 02:

V tem primeru bomo uporabili nekaj metod, pri katerih lahko uporabimo več kot en pogoj za filtriranje nizov. Za izvedbo bomo preprosto uvozili knjižnico NumPy in nato ustvarili enodimenzionalni niz velikosti '9' z vrednostmi '24', '3', '12', '9', '3', '5', “2”, “6” in “7”. V naslednji vrstici smo uporabili stavek za tiskanje, ki smo mu posredovali matriko, ki smo jo inicializirali z imenom 'my_array' s pogojem kot argumentom. Pri tem smo opravili pogoj ali, kar pomeni, da mora biti en pogoj pri obeh resničen. Če sta oba resnična, bo prikazal podatke za oba pogoja. V tem pogoju želimo natisniti vrednosti, ki so manjše od '5' in večje od '9'. V naslednji vrstici smo z operatorjem IN preverili, kaj se bo zgodilo, če uporabimo pogoj za filtriranje matrike. V tem stanju smo prikazali vrednosti, ki so večje od '5' in manjše od '9'.

Uvozi numpy kot npr.

moja_matrika = npr. niz ( [ 24 , 3 , 12 , 9 , 3 , 5 , dva , 6 , 7 ] )

tiskanje ( »Vrednosti manj kot 5 oz večji kot 9 , moja_matrika [ ( moja_matrika < 5 ) | ( moja_matrika > 9 ) ] )

tiskanje ( »Vrednosti večje od 5 in manj kot 9 , moja_matrika [ ( moja_matrika > 5 ) & ( moja_matrika < 9 ) ] )

Kot je prikazano v spodnjem izrezku, je prikazan naš rezultat za zgornjo kodo, v kateri smo filtrirali matriko in dobili naslednji rezultat. Kot lahko vidimo, so v prvem izhodu prikazane vrednosti, večje od 9 in manjše od 5, vrednosti med 5 in 9 pa so zanemarjene. Medtem ko smo v naslednji vrstici natisnili vrednosti med '5' in '9', ki sta '6' in '7'. Druge vrednosti nizov niso prikazane.

Zaključek

V tem priročniku smo na kratko razpravljali o uporabi filtrirnih metod, ki jih ponuja paket NumPy. Implementirali smo več primerov, da bi vam pojasnili najboljši način za implementacijo metodologij filtrov, ki jih ponuja numpy.