Numpy filtr

Numpy Filtr



Načítání prvků nebo získávání prvků z některých dat se nazývá filtrování. NumPy je balíček, který nám umožňuje vytvářet pole a ukládat jakýkoli typ dat ve formě pole. Pokud jde o filtrování v polích při práci s balíčky NumPy poskytovanými pythonem, umožňuje nám filtrovat nebo získávat data z polí pomocí vestavěných funkcí poskytovaných NumPy. K filtrování polí lze použít seznam booleovských indexů, seznam logických hodnot odpovídajících pozicím pole. Pokud je prvek v indexu pole pravdivý, bude uložen v poli, pokud prvek není z pole vyloučen.

Předpokládejme, že máme data studentů uložena ve formě polí a chceme odfiltrovat neúspěšné studenty. Jednoduše vyfiltrujeme pole a vyloučíme neúspěšné studenty a získáme nové pole úspěšného studenta.

Kroky k filtrování pole NumPy

Krok 1: Import modulu NumPy.







Krok 2: Vytvoření pole.



Krok 3: Přidejte podmínku filtrování.



Krok 4: Vytvořte nové filtrované pole.





Syntax:

Existuje několik způsobů, jak filtrovat pole. Záleží na stavu filtru, jako jestli máme pouze jednu podmínku nebo máme více než jednu podmínku.

Metoda 1: Pro jednu podmínku budeme postupovat podle následující syntaxe

pole [ pole < stav ]

Ve výše uvedené syntaxi je „pole“ název pole, ze kterého budeme filtrovat prvky. A podmínkou bude stav, ve kterém jsou prvky filtrovány a operátor „<“ je matematické znaménko, které představuje méně než. Je efektivní jej použít, když máme pouze jednu podmínku nebo příkaz.



Metoda 2: Pomocí operátoru „OR“.

pole [ ( pole < podmínka1 ) | ( pole > podmínka2 ) ]

V této metodě je „pole“ název pole, ze kterého budeme filtrovat hodnoty a je mu předána podmínka. Operátor „|“ se používá k reprezentaci funkce „OR“, což znamená, že z obou podmínek by jedna měla být pravdivá. Je to užitečné, když existují dvě podmínky.

Metoda 3: Použití operátoru „AND“.

pole [ ( pole < podmínka1 ) & ( pole > podmínka2 ) ]

V následující syntaxi je „pole“ název pole, které má být filtrováno. Zatímco podmínka bude stav, jak je diskutováno ve výše uvedené syntaxi, zatímco použitý operátor „&“ je operátor AND, což znamená, že obě podmínky musí být pravdivé.

Metoda 4: Filtrování podle uvedených hodnot

pole [ např. in1d ( pole , [ Seznam hodnot ] ) ]

V této metodě jsme předali naše definované pole „np.in1d“, které se používá k porovnání dvou polí, zda je prvek pole, který má být filtrován, přítomen v jiném poli nebo ne. A pole je předáno funkci np.in1d, která má být filtrována z daného pole.

Příklad č. 01:

Nyní implementujme výše diskutovanou metodu na příkladu. Nejprve zahrneme naše knihovny NumPy poskytované Pythonem. Poté vytvoříme pole s názvem „my_array“, které bude obsahovat hodnoty „2“, „3“, „1“, „9“, „3“, „5“, „6“ a „1“. Dále předáme náš kód filtru, který je „my_array[(my_array < 5)]“ do příkazu print, což znamená, že filtrujeme hodnoty, které jsou menší než „5“. V dalším řádku jsme vytvořili další pole názvu „pole“, které je zodpovědné za to, že má hodnoty „1“, „2“, „6“, „3“, „8“, „1“ a „0“. Do tiskového příkazu jsme předali podmínku, že budeme tisknout hodnoty větší než 5.

Nakonec jsme vytvořili další pole, které jsme nazvali „arr“. Drží hodnoty „6“, „7“, 10, „12“ a „14“. Nyní pro toto pole vytiskneme hodnotu, která v poli neexistuje, abychom viděli, co se stane, pokud podmínka nebude odpovídat. K tomu jsme předali podmínku, která bude filtrovat hodnotu, která se rovná hodnotě „5“.

import nemotorný tak jako např.

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

tisk ( 'hodnoty menší než 5' , moje_pole [ ( moje_pole < 5 ) ] )

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

tisk ( 'hodnoty větší než 5' , pole [ ( pole > 5 ) ] )

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

tisk ( 'hodnoty se rovnají 5' , arr [ ( arr == 5 ) ] )

Po provedení kódu máme jako výsledek následující výstup, ve kterém jsme zobrazili 3 výstupy, první je pro prvky menší než „5“, ve druhém provedení jsme vytiskli hodnoty větší než „5“. Nakonec jsme vytiskli hodnotu, která neexistuje, jak vidíme, nezobrazuje žádnou chybu, ale zobrazilo prázdné pole, což znamená, že požadovaná hodnota v daném poli neexistuje.

Příklad č. 02:

V tomto případě použijeme některé z metod, ve kterých můžeme k filtrování polí použít více než jednu podmínku. Abychom to provedli, jednoduše naimportujeme knihovnu NumPy a poté vytvoříme jednorozměrné pole velikosti „9“ s hodnotami „24“, „3“, „12“, „9“, „3“, „5“, '2', '6' a '7'. V dalším řádku jsme použili příkaz print, kterému jsme předali pole, které jsme inicializovali jménem „my_array“ s podmínkou jako argumentem. V tomto jsme splnili podmínku nebo, což znamená, že z obou musí být jedna podmínka pravdivá. Pokud jsou pravdivé obě, zobrazí se data pro obě podmínky. V tomto stavu chceme vytisknout hodnoty, které jsou menší než „5“ a větší než „9“. V dalším řádku jsme pomocí operátoru AND zkontrolovali, co se stane, pokud k filtrování pole použijeme podmínku. V tomto stavu jsme zobrazili hodnoty, které jsou větší než „5“ a menší než „9“.

Import numpy tak jako např.

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

tisk ( „hodnoty menší než 5 nebo větší než 9 , moje_pole [ ( moje_pole < 5 ) | ( moje_pole > 9 ) ] )

tisk ( „hodnoty větší než 5 a méně než 9 , moje_pole [ ( moje_pole > 5 ) & ( moje_pole < 9 ) ] )

Jak je znázorněno ve úryvku níže, zobrazí se náš výsledek pro výše uvedený kód, ve kterém jsme filtrovali pole a získali následující výsledek. Jak vidíme, hodnoty větší než 9 a menší než 5 jsou zobrazeny na prvním výstupu a hodnoty mezi 5 a 9 jsou zanedbané. Zatímco na dalším řádku jsme vytiskli hodnoty mezi „5“ a „9“, což jsou „6“ a „7“. Ostatní hodnoty polí nejsou zobrazeny.

Závěr

V této příručce jsme stručně probrali použití metod filtrování, které poskytuje balíček NumPy. Implementovali jsme několik příkladů, abychom pro vás vypracovali nejlepší způsob implementace metodologií filtrů, které poskytuje numpy.