Numpy filtras

Numpy Filtras



Elementų gavimas arba elementų gavimas iš kai kurių duomenų yra žinomas kaip filtravimas. NumPy yra paketas, leidžiantis kurti masyvus ir saugoti bet kokio tipo duomenis masyvo pavidalu. Kalbant apie masyvų filtravimą dirbant su „python“ teikiamais „NumPy“ paketais, tai leidžia mums filtruoti arba gauti duomenis iš masyvų naudojant įmontuotas „NumPy“ teikiamas funkcijas. Būlio indekso sąrašas, masyvo pozicijas atitinkančių Būlio verčių sąrašas, gali būti naudojamas masyvams filtruoti. Jei masyvo indekso elementas yra teisingas, jis bus saugomas masyve, nebent elementas būtų pašalintas iš masyvo.

Tarkime, kad turime studentų duomenis, saugomus masyvų pavidalu, ir norime išfiltruoti nesėkmingus studentus. Mes tiesiog išfiltruosime masyvą ir neįtrauksime nesėkmingų studentų ir bus gautas naujas išlaikyto studento masyvas.

NumPy masyvo filtravimo veiksmai

1 žingsnis: NumPy modulio importavimas.







2 žingsnis: Masyvo sukūrimas.



3 veiksmas: Pridėti filtravimo sąlygą.



4 veiksmas: Sukurkite naują filtruotą masyvą.





Sintaksė:

Yra keli masyvų filtravimo būdai. Tai priklauso nuo filtro būklės, pavyzdžiui, ar turime tik vieną sąlygą, ar turime daugiau nei vieną sąlygą.

1 būdas: vienai sąlygai vadovausimės tokia sintaksė

masyvas [ masyvas < sąlyga ]

Aukščiau paminėtoje sintaksėje „masyvas“ yra masyvo, iš kurio filtruosime elementus, pavadinimas. Sąlyga bus būsena, kurioje elementai filtruojami, o operatorius „<“ yra matematinis ženklas, reiškiantis mažiau nei. Veiksminga jį naudoti, kai turime tik vieną sąlygą ar teiginį.



2 būdas: „OR“ operatoriaus naudojimas

masyvas [ ( masyvas < sąlyga1 ) | ( masyvas > sąlyga2 ) ]

Taikant šį metodą, „masyvas“ yra masyvo, iš kurio filtruosime reikšmes, pavadinimas ir jam perduodama sąlyga. Operatorius „|“ naudojamas vaizduoti funkciją „ARBA“, o tai reiškia, kad abiejose sąlygose viena turi būti teisinga. Tai naudinga, kai yra dvi sąlygos.

3 būdas: „AND“ operatoriaus naudojimas.

masyvas [ ( masyvas < sąlyga1 ) & ( masyvas > sąlyga2 ) ]

Šioje sintaksėje „masyvas“ yra masyvo, kurį reikia filtruoti, pavadinimas. Tuo tarpu sąlyga bus būsena, kaip aptarta anksčiau pateiktoje sintaksėje, o naudojamas operatorius „&“ yra IR operatorius, o tai reiškia, kad abi sąlygos turi būti teisingos.

4 būdas: Filtravimas pagal išvardytas reikšmes

masyvas [ pvz. in1d ( masyvas , [ Vertybių sąrašas ] ) ]

Taikant šį metodą, mes perdavėme apibrėžtą masyvą „np.in1d“, kuris naudojamas dviem masyvams palyginti, ar masyvo elementas, kurį reikia filtruoti, yra kitame masyve, ar ne. Ir masyvas perduodamas funkcijai np.in1d, kuri turi būti filtruojama iš nurodyto masyvo.

01 pavyzdys:

Dabar pavyzdyje įgyvendinkime aukščiau aptartą metodą. Pirma, įtrauksime savo NumPy bibliotekas, kurias teikia Python. Tada sukursime masyvą pavadinimu „mano_masyvas“, kuriame bus reikšmės „2“, „3“, „1“, „9“, „3“, „5“, „6“ ir „1“. Tada mes perduosime filtro kodą, kuris yra „mano_masyvas[(mano_masyvas < 5)]“, į spausdinimo teiginį, o tai reiškia, kad filtruojame reikšmes, kurios yra mažesnės nei „5“. Kitoje eilutėje sukūrėme kitą pavadinimo „masyvo“ masyvą, kuris yra atsakingas už reikšmes „1“, „2“, „6“, „3“, „8“, „1“ ir „0“. Į spausdinimo teiginį perdavėme sąlygą, kad spausdinsime reikšmes, kurios yra didesnės nei 5.

Galiausiai sukūrėme kitą masyvą, kurį pavadinome „arr“. Jis turi reikšmes „6“, „7“, „10“, „12“ ir „14“. Dabar šiame masyve išspausdinsime vertę, kurios masyve nėra, kad pamatytume, kas atsitiks, jei sąlyga neatitiks. Norėdami tai padaryti, išlaikėme sąlygą, kuri išfiltruos reikšmę, lygią reikšmei „5“.

importuoti nelygus kaip pvz.

mano_masyvas = pvz. masyvas ( [ du , 3 , 1 , 9 , 3 , 5 , du , 6 , 1 ] )

spausdinti ( 'vertės mažesnės nei 5' , mano_masyvas [ ( mano_masyvas < 5 ) ] )

masyvas = pvz. masyvas ( [ 1 , du , 6 , 3 , 8 , 1 , 0 ] )

spausdinti ( 'vertės didesnės nei 5' , masyvas [ ( masyvas > 5 ) ] )

arr = pvz. masyvas ( [ 6 , 7 , 10 , 12 , 14 ] )

spausdinti ( 'reikšmės lygios 5' , arr [ ( arr == 5 ) ] )

Įvykdę kodą, gauname tokią išvestį, kurioje pavaizdavome 3 išėjimus, pirmasis skirtas elementams, mažesniems nei „5“, antrajame vykdyme išspausdinome didesnes nei „5“ reikšmes. Pabaigoje išspausdinome neegzistuojančią reikšmę, nes matome, kad ji nerodo jokios klaidos, bet parodė tuščią masyvą, o tai reiškia, kad norimos reikšmės pateiktame masyve nėra.

02 pavyzdys:

Šiuo atveju mes naudosime kai kuriuos metodus, kuriais galime naudoti daugiau nei vieną sąlygą masyvams filtruoti. Norėdami tai atlikti, mes tiesiog importuosime NumPy biblioteką ir sukursime vienmatį „9“ dydžio masyvą, kurio reikšmės „24“, „3“, „12“, „9“, „3“, „5“, „2“, „6“ ir „7“. Kitoje eilutėje naudojome spausdinimo teiginį, kuriam perdavėme masyvą, kurį inicijavome pavadinimu „mano_masyvas“ su sąlyga kaip argumentu. Šiuo atveju mes išlaikėme arba sąlygą, kuri reiškia, kad viena sąlyga turi būti teisinga. Jei abu yra teisingi, bus rodomi abiejų sąlygų duomenys. Esant tokiai sąlygai, norime spausdinti reikšmes, kurios yra mažesnės nei „5“ ir didesnės nei „9“. Kitoje eilutėje naudojome operatorių AND norėdami patikrinti, kas atsitiks, jei naudosime sąlygą masyvo filtravimui. Esant tokiai sąlygai, mes rodėme vertes, kurios yra didesnės nei „5“ ir mažesnės nei „9“.

Importas numply kaip pvz.

mano_masyvas = pvz. masyvas ( [ 24 , 3 , 12 , 9 , 3 , 5 , du , 6 , 7 ] )

spausdinti ( „vertės mažesnės nei 5 arba geresnis negu 9 , mano_masyvas [ ( mano_masyvas < 5 ) | ( mano_masyvas > 9 ) ] )

spausdinti ( „vertybės didesnės nei 5 ir mažiau nei 9 , mano_masyvas [ ( mano_masyvas > 5 ) & ( mano_masyvas < 9 ) ] )

Kaip parodyta toliau pateiktame fragmente, rodomas aukščiau pateikto kodo rezultatas, kuriame filtravome masyvą ir gavome tokį rezultatą. Kaip matome, didesnės nei 9 ir mažesnės nei 5 reikšmės rodomos pirmajame išvestyje, o reikšmės nuo 5 iki 9 nepaisomos. Tuo tarpu kitoje eilutėje atspausdinome reikšmes tarp „5“ ir „9“, kurios yra „6“ ir „7“. Kitos masyvų reikšmės nerodomos.

Išvada

Šiame vadove trumpai aptarėme „NumPy“ paketo teikiamų filtravimo metodų naudojimą. Įdiegėme kelis pavyzdžius, kad paaiškintume, kaip geriausiai įgyvendinti numpy teikiamas filtrų metodikas.