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.