Numpy filter

Numpy Filter



Načítanie prvkov alebo získanie prvkov z niektorých údajov sa nazýva filtrovanie. NumPy je balík, ktorý nám umožňuje vytvárať polia a ukladať akýkoľvek typ údajov vo forme poľa. Pokiaľ ide o filtrovanie v poliach pri práci s balíkmi NumPy poskytovanými pythonom, umožňuje nám to filtrovať alebo získavať údaje z polí pomocou vstavaných funkcií poskytovaných NumPy. Na filtrovanie polí možno použiť zoznam boolovských indexov, zoznam logických hodnôt zodpovedajúcich pozíciám poľa. Ak je prvok v indexe poľa pravdivý, uloží sa do poľa, pokiaľ nie je prvok z poľa vylúčený.

Predpokladajme, že máme dáta študentov uložené vo forme polí a chceme odfiltrovať neúspešných študentov. Pole jednoducho vyfiltrujeme a vylúčime neúspešných študentov a získame nové pole úspešného študenta.

Kroky na filtrovanie poľa NumPy

Krok 1: Import modulu NumPy.







Krok 2: Vytvorenie poľa.



Krok 3: Pridajte podmienku filtrovania.



Krok 4: Vytvorte nové filtrované pole.





Syntax:

Existuje niekoľko spôsobov, ako filtrovať polia. Závisí to od stavu filtra, napríklad či máme iba jednu podmienku alebo máme viac podmienok.

Metóda 1: Pre jednu podmienku budeme postupovať podľa nasledujúcej syntaxe

pole [ pole < stave ]

Vo vyššie uvedenej syntaxi je „pole“ názov poľa, z ktorého budeme filtrovať prvky. A podmienkou bude stav, v ktorom sú prvky filtrované a operátor „<“ je matematické znamienko, ktoré predstavuje menej ako. Je efektívne použiť ho, keď máme iba jednu podmienku alebo vyhlásenie.



Metóda 2: Pomocou operátora „ALEBO“.

pole [ ( pole < podmienka1 ) | ( pole > podmienka2 ) ]

V tejto metóde je „pole“ názov poľa, z ktorého budeme filtrovať hodnoty a podmienka sa mu odovzdá. Operátor „|“ sa používa na vyjadrenie funkcie „ALEBO“, čo znamená, že z oboch podmienok by jedna mala byť pravdivá. Je to užitočné, keď existujú dve podmienky.

Metóda 3: Použitie operátora „AND“.

pole [ ( pole < podmienka1 ) & ( pole > podmienka2 ) ]

V nasledujúcej syntaxi je „pole“ názov poľa, ktoré sa má filtrovať. Zatiaľ čo podmienka bude stav, ako je uvedené vo vyššie uvedenej syntaxi, zatiaľ čo operátor použitý „&“ je operátor AND, čo znamená, že obe podmienky musia byť pravdivé.

Metóda 4: Filtrovanie podľa uvedených hodnôt

pole [ napr. in1d ( pole , [ Zoznam hodnôt ] ) ]

V tejto metóde sme odovzdali naše definované pole „np.in1d“, ktoré sa používa na porovnanie dvoch polí, či je prvok poľa, ktorý sa má filtrovať, prítomný v inom poli alebo nie. A pole je odovzdané funkcii np.in1d, ktorá má byť filtrovaná z daného poľa.

Príklad č. 01:

Teraz implementujme vyššie diskutovanú metódu na príklade. Po prvé, zahrnieme naše knižnice NumPy poskytované Pythonom. Potom vytvoríme pole s názvom „my_array“, ktoré bude obsahovať hodnoty „2“, „3“, „1“, „9“, „3“, „5“, „6“ a „1“. Ďalej odovzdáme náš kód filtra, ktorý je „my_array[(my_array < 5)]“ do príkazu print, čo znamená, že filtrujeme hodnoty, ktoré sú menšie ako „5“. V ďalšom riadku sme vytvorili ďalšie pole názvov „pole“, ktoré je zodpovedné za to, že má hodnoty „1“, „2“, „6“, „3“, „8“, „1“ a „0“. Do tlačového príkazu sme odovzdali podmienku, že budeme tlačiť hodnoty väčšie ako 5.

Nakoniec sme vytvorili ďalšie pole, ktoré sme nazvali „arr“. Drží hodnoty „6“, „7“, 10, „12“ a „14“. Teraz pre toto pole vytlačíme hodnotu, ktorá v poli neexistuje, aby sme videli, čo sa stane, ak sa podmienka nezhoduje. Aby sme tak urobili, splnili sme podmienku, ktorá bude filtrovať hodnotu, ktorá sa rovná hodnote „5“.

importovať numpy ako napr.

moje_pole = napr. pole ( [ dva , 3 , 1 , 9 , 3 , 5 , dva , 6 , 1 ] )

vytlačiť ( 'hodnoty menšie ako 5' , moje_pole [ ( moje_pole < 5 ) ] )

pole = napr. pole ( [ 1 , dva , 6 , 3 , 8 , 1 , 0 ] )

vytlačiť ( 'hodnoty väčšie ako 5' , pole [ ( pole > 5 ) ] )

arr = napr. pole ( [ 6 , 7 , 10 , 12 , 14 ] )

vytlačiť ( 'hodnoty sa rovnajú 5' , arr [ ( arr == 5 ) ] )

Po vykonaní kódu máme ako výsledok nasledujúci výstup, v ktorom sme zobrazili 3 výstupy, prvý je pre prvky menšie ako „5“, v druhom spustení sme vypísali hodnoty väčšie ako „5“. Na konci sme vypísali hodnotu, ktorá neexistuje, ako vidíme, nezobrazuje žiadnu chybu, ale zobrazuje prázdne pole, čo znamená, že požadovaná hodnota v danom poli neexistuje.

Príklad č. 02:

V tomto prípade použijeme niektoré z metód, v ktorých môžeme použiť viac ako jednu podmienku na filtrovanie polí. Aby sme to urobili, jednoducho naimportujeme knižnicu NumPy a potom vytvoríme jednorozmerné pole veľkosti „9“ s hodnotami „24“, „3“, „12“, „9“, „3“, „5“, „2“, „6“ a „7“. V ďalšom riadku sme použili príkaz print, ktorému sme odovzdali pole, ktoré sme inicializovali s názvom „my_array“ s podmienkou ako argumentom. V tomto sme splnili podmienku alebo, čo znamená, že z oboch musí jedna podmienka platiť. Ak sú pravdivé obe, zobrazia sa údaje pre obe podmienky. V tomto stave chceme vytlačiť hodnoty menšie ako „5“ a väčšie ako „9“. V ďalšom riadku sme pomocou operátora AND skontrolovali, čo sa stane, ak na filtrovanie poľa použijeme podmienku. V tomto stave sme zobrazili hodnoty väčšie ako „5“ a menšie ako „9“.

Importovať numpy ako napr.

moje_pole = napr. pole ( [ 24 , 3 , 12 , 9 , 3 , 5 , dva , 6 , 7 ] )

vytlačiť ( „hodnoty menšie ako 5 alebo väčší než 9 , moje_pole [ ( moje_pole < 5 ) | ( moje_pole > 9 ) ] )

vytlačiť ( „hodnoty väčšie ako 5 a menej ako 9 , moje_pole [ ( moje_pole > 5 ) & ( moje_pole < 9 ) ] )

Ako je uvedené v úryvku nižšie, zobrazí sa náš výsledok pre kód uvedený vyššie, v ktorom sme filtrovali pole a dostali sme nasledujúci výsledok. Ako vidíme, hodnoty väčšie ako 9 a menšie ako 5 sú zobrazené v prvom výstupe a hodnoty medzi 5 a 9 sú zanedbané. Zatiaľ čo v ďalšom riadku sme vytlačili hodnoty medzi „5“ a „9“, ktoré sú „6“ a „7“. Ostatné hodnoty polí nie sú zobrazené.

Záver

V tejto príručke sme stručne diskutovali o použití metód filtrovania, ktoré poskytuje balík NumPy. Implementovali sme niekoľko príkladov, aby sme pre vás vypracovali najlepší spôsob implementácie metodológií filtrov, ktoré poskytuje numpy.