Numpy filter

Numpy Filter



Elementide toomist või teatud andmetest elementide hankimist nimetatakse filtreerimiseks. NumPy on pakett, mis võimaldab meil luua massiive ja salvestada mis tahes tüüpi andmeid massiivi kujul. Kui rääkida massiivides filtreerimisest pythoni pakutavate NumPy pakettidega töötamise ajal, siis võimaldab see meil NumPy pakutavate sisseehitatud funktsioonide abil massiividest andmeid filtreerida või sealt saada. Massiivide filtreerimiseks saab kasutada Boole'i ​​indeksi loendit, massiivi positsioonidele vastavate tõeväärtuste loendit. Kui massiivi indeksi element on tõene, salvestatakse see massiivi, kui elementi massiivist välja ei jäeta.

Oletame, et meil on õpilaste andmed massiivide kujul salvestatud ja me tahame ebaõnnestunud õpilased välja filtreerida. Me lihtsalt filtreerime massiivi ja välistame läbikukkunud õpilased ning saame läbitud õpilase uue massiivi.

NumPy massiivi filtreerimise sammud

Samm 1: NumPy mooduli importimine.







2. samm: Massiivi loomine.



3. samm: Lisage filtreerimise tingimus.



4. samm: Looge uus filtreeritud massiiv.





Süntaks:

Massiivide filtreerimiseks on mitu võimalust. See sõltub filtri seisukorrast, näiteks sellest, kas meil on ainult üks tingimus või meil on rohkem kui üks tingimus.

1. meetod: ühe tingimuse korral järgime järgmist süntaksit

massiivi [ massiivi < tingimus ]

Ülalmainitud süntaksis on 'massiivi' massiivi nimi, millest me elemente filtreerime. Ja tingimus on olek, mille alusel elemendid filtreeritakse, ja operaator “<” on matemaatiline märk, mis tähistab vähem kui. Seda on tõhus kasutada, kui meil on ainult üks tingimus või väide.



2. meetod: Operaatori 'OR' kasutamine

massiivi [ ( massiivi < tingimus1 ) | ( massiivi > tingimus2 ) ]

Selle meetodi puhul on massiiv massiivi nimi, millest väärtusi filtreerime ja tingimus edastatakse sellele. Operaator “|” on harjunud esindama funktsiooni 'OR', mis tähendab, et mõlema tingimuse korral peaks üks olema tõene. See on kasulik, kui on kaks tingimust.

3. meetod: operaatori 'AND' kasutamine.

massiivi [ ( massiivi < tingimus1 ) & ( massiivi > tingimus2 ) ]

Järgmises süntaksis on 'massiivi' filtreeritava massiivi nimi. Tingimuseks on olek, nagu on kirjeldatud ülaltoodud süntaksis, samas kui kasutatav operaator „&” on JA, mis tähendab, et mõlemad tingimused peavad olema tõesed.

4. meetod: Filtreerimine loetletud väärtuste järgi

massiivi [ nt. in1d ( massiivi , [ Väärtuste loetelu ] ) ]

Selle meetodi puhul edastasime meie määratletud massiivi “np.in1d”, mida kasutatakse kahe massiivi võrdlemiseks, kas filtreeritava massiivi element on mõnes teises massiivis või mitte. Ja massiiv edastatakse funktsioonile np.in1d, mis tuleb antud massiivist välja filtreerida.

Näide # 01:

Nüüd rakendame ülalkirjeldatud meetodit näites. Esiteks lisame oma Pythoni pakutavad NumPy teegid. Seejärel loome massiivi nimega 'my_array', mis sisaldab väärtusi '2', '3', '1', '9', '3', '5', '6' ja '1'. Järgmisena edastame oma filtrikoodi, mis on 'minu_massiiv[(minu_massiiv < 5)]', prindilausele, mis tähendab, et filtreerime väärtused, mis on väiksemad kui '5'. Järgmisel real lõime veel ühe massiivi nimede 'massiivi', mis vastutab väärtuste '1', '2', '6', '3', '8', '1' ja '0' eest. Prindilausele edastasime tingimuse, et prindime väärtused, mis on suuremad kui 5.

Lõpuks lõime teise massiivi, millele panime nimeks 'arr'. See sisaldab väärtusi '6', '7', '10', '12' ja '14'. Nüüd prindime selle massiivi jaoks väärtuse, mida massiivi sees ei eksisteeri, et näha, mis juhtub, kui tingimus ei vasta. Selleks edastasime tingimuse, mis filtreerib väärtuse, mis on võrdne väärtusega '5'.

importida tuim nagu nt.

minu_massiiv = nt. massiivi ( [ kaks , 3 , 1 , 9 , 3 , 5 , kaks , 6 , 1 ] )

printida ( 'väärtused alla 5' , minu_massiiv [ ( minu_massiiv < 5 ) ] )

massiivi = nt. massiivi ( [ 1 , kaks , 6 , 3 , 8 , 1 , 0 ] )

printida ( 'väärtused üle 5' , massiivi [ ( massiivi > 5 ) ] )

arr = nt. massiivi ( [ 6 , 7 , 10 , 12 , 14 ] )

printida ( 'väärtused on 5' , arr [ ( arr == 5 ) ] )

Pärast koodi täitmist saame tulemuseks järgmise väljundi, milles oleme kuvanud 3 väljundit, millest esimene on elementide jaoks, mis on väiksemad kui “5”, teisel täitmisel printisime väärtused, mis on suuremad kui “5”. Lõpuks printisime välja väärtuse, mida pole olemas, kuna me näeme, et see ei näita ühtegi viga, vaid kuvas tühja massiivi, mis tähendab, et soovitud väärtust antud massiivis ei eksisteeri.

Näide # 02:

Sel juhul kasutame mõnda meetodit, mille puhul saame massiivide filtreerimiseks kasutada rohkem kui ühte tingimust. Selle teostamiseks impordime lihtsalt NumPy teegi ja loome seejärel ühemõõtmelise massiivi suurusega “9”, mille väärtused on “24”, “3”, “12”, “9”, “3”, “5”, “2”, “6” ja “7”. Järgmisel real kasutasime printlauset, millele oleme edastanud massiivi, mille oleme initsialiseerinud nimega “my_array” koos tingimusega. Selles oleme läbinud tingimuse või, mis tähendab mõlema puhul, et üks tingimus peab olema tõene. Kui mõlemad on tõesed, kuvatakse andmed mõlema tingimuse kohta. Sellises olukorras tahame printida väärtused, mis on väiksemad kui „5” ja suuremad kui „9”. Järgmisel real kasutasime operaatorit JA, et kontrollida, mis juhtub, kui kasutame massiivi filtreerimiseks tingimust. Selles seisundis kuvasime väärtused, mis on suuremad kui '5' ja väiksemad kui '9'.

Import numpy nagu nt.

minu_massiiv = nt. massiivi ( [ 24 , 3 , 12 , 9 , 3 , 5 , kaks , 6 , 7 ] )

printida ( “väärtused väiksemad kui 5 või suurem kui 9 , minu_massiiv [ ( minu_massiiv < 5 ) | ( minu_massiiv > 9 ) ] )

printida ( “väärtused suuremad kui 5 ja vähem kui 9 , minu_massiiv [ ( minu_massiiv > 5 ) & ( minu_massiiv < 9 ) ] )

Nagu on näidatud alloleval lõigul, kuvatakse ülaltoodud koodi tulemus, milles filtreerisime massiivi ja saime järgmise tulemuse. Nagu näeme, kuvatakse esimeses väljundis väärtused, mis on suuremad kui 9 ja väiksemad kui 5, ning väärtused vahemikus 5 kuni 9 jäetakse tähelepanuta. Arvestades, et järgmisel real oleme trükkinud väärtused “5” ja “9” vahel, mis on “6” ja “7”. Massiivide muid väärtusi ei kuvata.

Järeldus

Selles juhendis oleme lühidalt arutanud NumPy paketi pakutavate filtrimeetodite kasutamist. Oleme rakendanud mitmeid näiteid, et selgitada välja parim viis numpy pakutavate filtrimetoodikate rakendamiseks.