Numpy filtrs

Numpy Filtrs



Elementu ienešana vai elementu iegūšana no dažiem datiem ir pazīstama kā filtrēšana. NumPy ir pakotne, kas ļauj mums izveidot masīvus un saglabāt jebkura veida datus masīva veidā. Runājot par filtrēšanu masīvos, strādājot ar python nodrošinātajām NumPy pakotnēm, tas ļauj mums filtrēt vai iegūt datus no masīviem, izmantojot iebūvētās NumPy nodrošinātās funkcijas. Būla indeksu sarakstu, Būla vērtību sarakstu, kas atbilst masīva pozīcijām, var izmantot masīvu filtrēšanai. Ja elements masīva rādītājā ir patiess, tas tiks saglabāts masīvā, ja vien elements netiks izslēgts no masīva.

Pieņemsim, ka studentu dati ir saglabāti masīvu veidā un mēs vēlamies izfiltrēt nesekmīgos studentus. Mēs vienkārši filtrēsim masīvu un izslēgsim nesekmīgos studentus, un tiks iegūts jauns nokārtotā studenta masīvs.

Darbības, lai filtrētu NumPy masīvu

1. darbība: Notiek NumPy moduļa importēšana.







2. darbība: Masīva izveide.



3. darbība: Pievienojiet filtrēšanas nosacījumu.



4. darbība: Izveidojiet jaunu filtrētu masīvu.





Sintakse:

Ir vairāki veidi, kā filtrēt masīvus. Tas ir atkarīgs no filtra stāvokļa, piemēram, vai mums ir tikai viens nosacījums vai vairāk nekā viens nosacījums.

1. metode: vienam nosacījumam mēs ievērosim šādu sintakse

masīvs [ masīvs < stāvokli ]

Iepriekš minētajā sintaksē “masīvs” ir tā masīva nosaukums, no kura mēs filtrēsim elementus. Un nosacījums būs stāvoklis, kurā elementi tiek filtrēti, un operators “<” ir matemātiskā zīme, kas apzīmē mazāku par. To ir efektīvi izmantot, ja mums ir tikai viens nosacījums vai apgalvojums.



2. metode: Izmantojot operatoru “OR”.

masīvs [ ( masīvs < nosacījums1 ) | ( masīvs > nosacījums2 ) ]

Šajā metodē “masīvs” ir tā masīva nosaukums, no kura mēs filtrēsim vērtības, un nosacījums tiek nodots tam. Operators “|” tiek izmantots, lai attēlotu funkciju “OR”, kas nozīmē, ka no abiem nosacījumiem vienam ir jābūt patiesam. Tas ir noderīgi, ja ir divi nosacījumi.

3. metode: Operatora “UN” izmantošana.

masīvs [ ( masīvs < nosacījums1 ) & ( masīvs > nosacījums2 ) ]

Nākamajā sintaksē “masīvs” ir filtrējamā masīva nosaukums. Tā kā nosacījums būs stāvoklis, kā aprakstīts iepriekš minētajā sintaksē, savukārt izmantotais operators “&” ir operators UN, kas nozīmē, ka abiem nosacījumiem ir jābūt patiesiem.

4. metode: Filtrēšana pēc uzskaitītajām vērtībām

masīvs [ piem. in1d ( masīvs , [ Vērtību saraksts ] ) ]

Izmantojot šo metodi, mēs nokārtojām mūsu definēto masīvu “np.in1d”, ko izmanto, lai salīdzinātu divus masīvus, neatkarīgi no tā, vai filtrējamais masīva elements atrodas citā masīvā. Un masīvs tiek nodots funkcijai np.in1d, kas jāfiltrē no dotā masīva.

01. piemērs:

Tagad piemērā ieviesīsim iepriekš apspriesto metodi. Pirmkārt, mēs iekļausim mūsu Python nodrošinātās NumPy bibliotēkas. Pēc tam mēs izveidosim masīvu ar nosaukumu “my_array”, kurā būs vērtības “2”, “3”, “1”, “9”, “3”, “5”, “6” un “1”. Pēc tam mēs nosūtīsim filtra kodu, kas ir “mans_masīvs[(mans_masīvs < 5)]”, drukāšanas priekšrakstam, kas nozīmē, ka mēs filtrējam vērtības, kas ir mazākas par “5”. Nākamajā rindā mēs izveidojām citu nosaukumu 'masīvs' masīvu, kas ir atbildīgs par vērtībām '1', '2', '6', '3', '8', '1' un '0'. Drukāšanas paziņojumam mēs nodevām nosacījumu, ka mēs izdrukāsim vērtības, kas ir lielākas par 5.

Visbeidzot, mēs izveidojām vēl vienu masīvu, kuru nosaucām par “arr”. Tam ir vērtības '6', '7', '10', '12' un '14'. Tagad šim masīvam mēs izdrukāsim vērtību, kas masīvā neeksistē, lai redzētu, kas notiks, ja nosacījums neatbilst. Lai to izdarītu, mēs nokārtojām nosacījumu, kas filtrēs vērtību, kas ir vienāda ar vērtību “5”.

imports nejutīgs piem.

mans_masīvs = piem. masīvs ( [ divi , 3 , 1 , 9 , 3 , 5 , divi , 6 , 1 ] )

drukāt ( 'vērtības mazākas par 5' , mans_masīvs [ ( mans_masīvs < 5 ) ] )

masīvs = piem. masīvs ( [ 1 , divi , 6 , 3 , 8 , 1 , 0 ] )

drukāt ( 'vērtības, kas lielākas par 5' , masīvs [ ( masīvs > 5 ) ] )

arr = piem. masīvs ( [ 6 , 7 , 10 , 12 , 14 ] )

drukāt ( 'vērtības vienādas ar 5' , arr [ ( arr == 5 ) ] )

Pēc koda izpildes mums ir šāda izvade, kurā esam parādījuši 3 izejas, pirmā ir elementiem, kas mazāki par '5', otrajā izpildē mēs izdrukājām vērtības, kas ir lielākas par '5'. Beigās mēs izdrukājām vērtību, kas neeksistē, jo mēs redzam, ka tā nerāda nekādu kļūdu, bet parādīja tukšu masīvu, kas nozīmē, ka vajadzīgā vērtība dotajā masīvā neeksistē.

02. piemērs:

Šajā gadījumā mēs izmantosim dažas metodes, kurās mēs varam izmantot vairāk nekā vienu nosacījumu, lai filtrētu masīvus. Lai to paveiktu, mēs vienkārši importēsim NumPy bibliotēku un pēc tam izveidosim viendimensiju masīvu ar izmēru “9” ar vērtībām “24”, “3”, “12”, “9”, “3”, “5”, “2”, “6” un “7”. Nākamajā rindā mēs izmantojām drukāšanas priekšrakstu, kuram esam nodevuši masīvu, kuru inicializējām ar nosaukumu “my_array” ar nosacījumu kā argumentu. Šajā gadījumā mēs esam izturējuši vai nosacījumu, kas nozīmē, ka vienam nosacījumam ir jābūt patiesam. Ja abi ir patiesi, tiks parādīti dati par abiem nosacījumiem. Šādā stāvoklī mēs vēlamies izdrukāt vērtības, kas ir mazākas par “5” un lielākas par “9”. Nākamajā rindā mēs izmantojām operatoru UN, lai pārbaudītu, kas notiks, ja masīva filtrēšanai izmantosim nosacījumu. Šajā stāvoklī mēs rādījām vērtības, kas ir lielākas par “5” un mazākas par “9”.

Importēt numpy piem.

mans_masīvs = piem. masīvs ( [ 24 , 3 , 12 , 9 , 3 , 5 , divi , 6 , 7 ] )

drukāt ( “vērtības ir mazākas par 5 vai pārāks nekā 9 , mans_masīvs [ ( mans_masīvs < 5 ) | ( mans_masīvs > 9 ) ] )

drukāt ( “vērtības lielākas par 5 un mazāk nekā 9 , mans_masīvs [ ( mans_masīvs > 5 ) & ( mans_masīvs < 9 ) ] )

Kā parādīts tālāk esošajā fragmentā, tiek parādīts iepriekš norādītā koda rezultāts, kurā mēs filtrējām masīvu un ieguvām šādu rezultātu. Kā redzam, pirmajā izvadā tiek parādītas vērtības, kas lielākas par 9 un mazākas par 5, un vērtības no 5 līdz 9 tiek ignorētas. Savukārt nākamajā rindā mēs esam izdrukājuši vērtības starp “5” un “9”, kas ir “6” un “7”. Pārējās masīvu vērtības netiek rādītas.

Secinājums

Šajā rokasgrāmatā mēs esam īsi apsprieduši filtru metožu izmantošanu, ko nodrošina NumPy pakotne. Mēs esam ieviesuši vairākus piemērus, lai izstrādātu jums labāko veidu, kā ieviest numpy piedāvātās filtra metodoloģijas.