Numpy Filter

Numpy Filter



Ang pagkuha para sa mga elemento o pagkuha ng mga elemento mula sa ilang data ay kilala bilang pag-filter. Ang NumPy ay ang package na nagpapahintulot sa amin na lumikha ng mga array at mag-imbak ng anumang uri ng data sa anyo ng isang array. Pagdating sa pag-filter sa mga arrays habang nagtatrabaho sa mga NumPy packages na ibinigay ng python, pinapayagan kaming mag-filter o kumuha ng data mula sa mga arrays gamit ang mga built-in na function na ibinigay ng NumPy. Ang isang listahan ng Boolean index, isang listahan ng mga Boolean na tumutugma sa mga posisyon ng array, ay maaaring gamitin upang i-filter ang mga array. Kung ang elemento sa index ng array ay totoo, ito ay maiimbak sa array maliban kung ang elemento ay hindi kasama sa array.

Ipagpalagay natin na mayroon tayong data ng mga mag-aaral na nakaimbak sa anyo ng mga array at gusto nating i-filter ang mga nabigong mag-aaral. I-filter lang namin ang array at ibubukod ang mga nabigong mag-aaral at magkakaroon ng bagong array ng naipasa na mag-aaral.

Mga hakbang sa pag-filter ng NumPy Array

Hakbang 1: Ini-import ang NumPy module.







Hakbang 2: Paglikha ng array.



Hakbang 3: Magdagdag ng kundisyon ng pag-filter.



Hakbang 4: Gumawa ng bagong na-filter na array.





Syntax:

Mayroong maraming mga paraan upang i-filter ang mga array. Depende ito sa kondisyon ng filter, tulad ng kung mayroon lamang tayong isang kundisyon o mayroon tayong higit sa isang kundisyon.

Paraan 1: Para sa Isang Kundisyon Susundan Namin ang Sumusunod na Syntax

array [ array < kundisyon ]

Sa syntax na binanggit sa itaas, ang 'array' ay ang pangalan ng array kung saan namin sasala ang mga elemento. At ang kundisyon ay ang estado kung saan na-filter ang mga elemento at ang operator na '<' ay ang mathematical sign na kumakatawan sa mas mababa sa. Mahusay na gamitin ito kapag mayroon lamang tayong isang kundisyon o pahayag.



Paraan 2: Gamit ang 'OR' Operator

array [ ( array < kondisyon1 ) | ( array > kondisyon2 ) ]

Sa pamamaraang ito, ang 'array' ay ang pangalan ng array kung saan kami magsasala ng mga halaga at ang kundisyon ay ipapasa dito. Operator '|' ay ginagamit upang kumatawan sa function na 'OR' na nangangahulugang mula sa parehong mga kondisyon ang isa ay dapat na totoo. Ito ay kapaki-pakinabang kapag mayroong dalawang kondisyon.

Paraan 3: Gamit ang 'AT' Operator.

array [ ( array < kondisyon1 ) at ( array > kondisyon2 ) ]

Sa sumusunod na syntax, 'array' ang pangalan ng array na i-filter. Samantalang, ang kundisyon ay ang estado tulad ng tinalakay sa itaas na syntax habang ang operator na ginamit na '&' ay ang AND operator, na nangangahulugang ang parehong kundisyon ay dapat totoo.

Paraan 4: Pag-filter ayon sa Mga Nakalistang Halaga

array [ hal. in1d ( array , [ Listahan ng mga halaga ] ) ]

Sa paraang ito, ipinasa namin ang aming tinukoy na array na 'np.in1d' na ginagamit upang paghambingin ang dalawang array kung ang elemento ng array na isa-filter ay nasa ibang array o wala. At ang array ay ipinapasa sa np.in1d ​​function na i-filter mula sa ibinigay na array.

Halimbawa # 01:

Ngayon, ipatupad natin ang pamamaraang tinalakay sa itaas sa isang halimbawa. Una, isasama namin ang aming mga library ng NumPy na ibinigay ng Python. Pagkatapos, gagawa kami ng array na pinangalanang 'my_array' na may hawak ng mga value na '2', '3', '1', '9', '3', '5', '6', at '1'. Susunod, ipapasa namin ang aming filter code na 'my_array[(my_array < 5)]' sa print statement na nangangahulugang sinasala namin ang mga value na mas mababa sa '5'. Sa susunod na linya, gumawa kami ng isa pang array ng pangalan na 'array' na responsable para sa pagkakaroon ng mga value na '1', '2', '6', '3', '8', '1' at '0'. Sa print statement, ipinasa namin ang kundisyon na ipi-print namin ang mga value na mas malaki sa 5.

Panghuli, gumawa kami ng isa pang array na pinangalanan naming 'arr'. Hawak nito ang mga value na '6', '7','10', '12', at '14'. Ngayon para sa array na ito, ipi-print namin ang value na wala sa array para makita kung ano ang mangyayari kung hindi tumugma ang kundisyon. Upang gawin ito, ipinasa namin ang kundisyon na magsasala ng halaga na katumbas ng halagang '5'.

angkat numpy bilang hal.

my_array = hal. array ( [ dalawa , 3 , 1 , 9 , 3 , 5 , dalawa , 6 , 1 ] )

print ( 'mga halagang mas mababa sa 5' , my_array [ ( my_array < 5 ) ] )

array = hal. array ( [ 1 , dalawa , 6 , 3 , 8 , 1 , 0 ] )

print ( 'mga halagang higit sa 5' , array [ ( array > 5 ) ] )

arr = hal. array ( [ 6 , 7 , 10 , 12 , 14 ] )

print ( 'mga halagang katumbas ng 5' , arr [ ( arr == 5 ) ] )

Pagkatapos isagawa ang code, mayroon kaming sumusunod na output bilang isang resulta, kung saan ipinakita namin ang 3 mga output ang una ay para sa mga elementong mas mababa sa '5' sa pangalawang pagpapatupad na nai-print namin ang mga halaga na mas malaki kaysa sa '5'. Sa dulo, nai-print namin ang halaga na hindi umiiral dahil nakikita namin na hindi ito nagpapakita ng anumang error ngunit ipinakita ang walang laman na array, na nangangahulugang ang nais na halaga ay wala sa ibinigay na array.

Halimbawa # 02:

Sa pagkakataong ito, gagamitin namin ang ilan sa mga pamamaraan kung saan maaari kaming gumamit ng higit sa isang kundisyon upang i-filter ang mga array. Upang maisagawa ito, ii-import lang namin ang NumPy library at pagkatapos ay gagawa kami ng one-dimensional na array ng laki na '9' na may mga value na '24', '3', '12', '9', '3', '5', '2', '6', at '7'. Sa susunod na linya, gumamit kami ng print statement kung saan naipasa namin ang isang array na sinimulan namin na may pangalang 'my_array' na may kundisyon bilang argumento. Dito, naipasa natin ang o kundisyon na ang ibig sabihin ay mula sa kanilang dalawa, dapat totoo ang isang kundisyon. Kung pareho ang mga ito ay totoo, ipapakita nito ang data para sa parehong mga kundisyon. Sa ganitong kundisyon, gusto naming i-print ang mga value na mas mababa sa '5' at mas malaki kaysa sa '9'. Sa susunod na linya, ginamit namin ang operator ng AND para tingnan kung ano ang mangyayari kung gagamit kami ng kundisyon para i-filter ang array. Sa kundisyong ito, nagpakita kami ng mga value na mas malaki kaysa sa '5' at mas mababa sa '9'.

Mag-import ng numpy bilang hal.

my_array = hal. array ( [ 24 , 3 , 12 , 9 , 3 , 5 , dalawa , 6 , 7 ] )

print ( “mga halagang mas mababa sa 5 o mahigit sa 9 , my_array [ ( my_array < 5 ) | ( my_array > 9 ) ] )

print ( “mga halagang mas malaki kaysa 5 at mas mababa sa 9 , my_array [ ( my_array > 5 ) at ( my_array < 9 ) ] )

Gaya ng ipinapakita sa snippet sa ibaba, ang aming resulta para sa code sa itaas ay ipinapakita kung saan na-filter namin ang array at nakuha ang sumusunod na resulta. Tulad ng nakikita natin, ang mga halagang higit sa 9 at mas mababa sa 5 ay ipinapakita sa unang output at ang mga halaga sa pagitan ng 5 at 9 ay napapabayaan. Samantalang, sa susunod na linya, nai-print namin ang mga halaga sa pagitan ng '5' at '9' na '6' at '7'. Ang iba pang mga halaga ng mga array ay hindi ipinapakita.

Konklusyon

Sa gabay na ito, maikling tinalakay namin ang paggamit ng mga pamamaraan ng filter na ibinibigay ng NumPy package. Nagpatupad kami ng maraming halimbawa upang ipaliwanag para sa iyo ang pinakamahusay na paraan upang ipatupad ang mga pamamaraan ng filter na ibinigay ng numpy.