Kaso Panda Kailan

Kaso Panda Kailan



Kapag nasiyahan o natugunan ang isang kundisyon, ang isang case statement sa wikang pandas ay nagbibigay ng isang output o nagbabalik ng isang halaga. Ginagawang posible ng isang case statement na ihambing ang halaga ng isang variable sa isang hanay ng mga potensyal na halaga. Kapag ang hanay ng mga halaga ay tinukoy o ipinasa sa case statement, ang bawat halaga sa loob ng set ay sinusuri ng mga kaso o kundisyon sa loob ng statement. Maaari rin nating gamitin ang if-else na pahayag upang gawin ang parehong operasyon. Kung ang isang tiyak na kundisyon ay totoo, ang if-else na pahayag ay nagiging sanhi ng isang piraso ng script upang maisakatuparan. Sinasabi ng if-else na pahayag na gawin ito kung totoo ang kundisyon at gawin iyon kung hindi. Sa tutorial na ito, magsasagawa kami ng iba't ibang mga operasyon sa pamamagitan ng paggamit ng mga case statement at if-else na mga pahayag.

Paano Gamitin ang Pahayag ng Kaso ng Pandas?

Ang mga pahayag ng kaso ay maaaring gawin sa maraming paraan. Ang NumPy where() function, na gumagamit ng sumusunod na pangunahing syntax, ay ang pinakasimpleng paraan upang bumuo ng case statement sa isang Pandas DataFrame:

df [ 'pangalan ng column' ] = np.saan ( kundisyon 1 , 'value1',
np.saan ( kundisyon dalawa , 'value2',
np.saan ( kundisyon 3 , 'value3', 'value4' ) ) )







Susuriin ng pahayag sa itaas ang bawat kundisyon para sa halaga at, kung nasiyahan ang kundisyon, bubuo ng output o ibabalik ang halaga laban sa kundisyon.



Halimbawa # 1: Pandas Case Statement Gamit ang where() Function

Gumawa muna tayo ng data frame para magamit natin ang case statement natin. Para makagawa ng data frame, ii-import muna namin ang numpy at pandas modules para magamit namin ang mga functionality nila. Ang pd.Dataframe() ay gagamitin upang gawin ang aming data frame.







Nagawa namin ang 'df' data frame. Ang isang diksyunaryo ng Python ay ipinapasa sa loob ng pd.DataFrame() function bilang argumento na may mga key at value. Gagamitin namin ang print() function para makita ang aming data frame.



Sa 'df' data frame mayroon kaming dalawang column na 'name' at 'marks' na may mga value ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] at [4, 6 , 8, 6, 9,10] ayon sa pagkakabanggit. Ipagpalagay na ang pangalan na iyon ay ang mga column na nag-iimbak ng mga pangalan ng mga mag-aaral at ang column na 'marks' ay nag-iimbak ng marka ng ilang kamakailang pagsusulit. Ngayon, magsusulat kami ng case statement na nagdaragdag ng bagong column na pinangalanang 'remarks' na ang mga value ay batay sa mga value na tinukoy namin, para sa bawat kundisyon.

Ang 'numpy.where()' na paraan ay nagbibigay ng mga indeks ng elemento mula sa isang input array, column, o listahan na nakakatugon sa tinukoy na kundisyon. Sa switch case sa itaas, sinusuri ng function na np.where() ang bawat elemento sa mga column na 'marks'. Kung ang halaga ay katumbas ng o mas mababa sa 5, ibabalik nito ang 'fail' bilang isang output. Kung ang halaga ay mas mababa sa o katumbas ng 7, ito ay magbabalik ng kasiya-siya, at kung ang halaga ay mas mababa sa o katumbas ng 9, ito ay magbabalik ng 'mahusay.' Kung wala, ang resulta ay magiging napakahusay.

Gaya ng mapapansin, ang bagong column na 'remarks' ay ginawa sa aming 'df' data frame, na nag-iimbak ng mga value na ibinalik ng case statement sa itaas.

Halimbawa # 2:

Subukan nating muli ang case statement sa itaas gamit ang ibang data frame. Ipagpalagay na kailangan nating bigyan ng grado ang mga manlalaro batay sa kanilang kabuuang layunin sa nakaraang football tournament. Kaya gumawa tayo ng data frame para mag-imbak ng mga rekord ng manlalaro ng football.

Naipasa namin ang isang diksyunaryo na may mga key na 'pangalan' at 'mga layunin' sa loob ng pd.DataFrame() function upang gawin ang aming data frame. Para i-print ang aming data frame, gagamitin namin ang print function.

Tulad ng makikita sa frame ng data sa itaas, mayroon kaming dalawang column: 'pangalan' at 'mga layunin'. Sa pangalan ng column, mayroon kaming mga pangalan ng mga manlalaro ['John', 'Marty', 'Clay', 'Nick', 'Mike', 'Alex', 'Tom', 'Rocky']. Sa mga layunin ng 'column', mayroon kaming kabuuang bilang ng mga layunin na naitala ng bawat manlalaro sa nakaraang paligsahan. Gagamitin na namin ngayon ang aming case statement para bigyan ng marka ang mga manlalarong ito batay sa mga layuning nai-iskor nila.

Ang kaso sa itaas ay nilikha gamit ang where() function. Sa loob ng case, sinusuri ng function ng statement ang bawat elemento sa mga column na 'marks' laban sa mga kundisyon. Kung ang halaga sa column na 'goals' ay katumbas o mas mababa sa 5, ito ay magbabalik ng 'C'. Kung ang halaga sa column na 'goals' ay katumbas o mas mababa sa 9, ito ay magbabalik ng 'B'. Magbabalik ito ng 'A' kung ang halaga sa column na 'goals' ay katumbas o higit sa 10. Ang mga value na ibinalik ng statement ay maiimbak sa bagong column na 'rating'. I-print natin ang 'df' para makita ang mga resulta.

Ang bagong column na 'rating' ay matagumpay na nagawa gamit ang script sa itaas.

Halimbawa # 3: Pandas if-else Statement Gamit ang function na apply().

Ang axis ng row o column ng data frame ay ginagamit ng apply() na paraan upang ipatupad ang isang function. Maaari kaming lumikha ng aming sariling tinukoy na function at gamitin ito sa aming data frame sa mga pandas. Ito ay bubuo ng kung-ibang mga kundisyon. Gawin muna natin ang ating data frame, pagkatapos ay gagawa tayo ng isang function kung saan gagamit tayo ng if-else na pahayag upang makabuo ng resulta. Upang gawin ang aming data frame, ii-import muna namin ang module ng panda, pagkatapos ay magpapasa kami ng diksyunaryo sa loob ng pd.DataFrame() na pamamaraan.

Tulad ng makikita, ang aming data frame ay binubuo ng dalawang column na 'A' na nag-iimbak ng mga numeric na halaga [23, 35, 64, 74, 85] at 'B' na may mga halaga [45, 34, 61, 89, 27]. Ngayon gagawa kami ng function na tutukuyin kung aling value ang mas malaki sa parehong column sa bawat row ng aming data frame.

Maaari mong gamitin ang Python lambda function na “pandas. DataFrame.apply()” para magpatakbo ng expression. Sa Python, ang isang lambda function ay isang compact na anonymous na function na tumatanggap ng anumang bilang ng mga argumento at nagpapatupad ng isang expression. Sa script sa itaas, gumawa kami ng condition statement na maghahambing sa halaga ng parehong column at mag-imbak ng resulta sa bagong column na 'paghahambing'. Kung ang halaga ng column na ‘A’ ay mas mababa kaysa sa value ng column na ‘B’, ibabalik nito ang “B is greater”. Kung hindi nasiyahan ang kundisyon, babalik ito ng 'A is greater'.

Halimbawa # 4:

Subukan natin ang isa pang halimbawa gamit ang if-else na pahayag sa loob ng function na apply() kasama ng isa pang data frame.

Ipagpalagay na ang aming data frame ay nag-iimbak ng mga talaan ng mga empleyado ng ilang kumpanya. Ang column na 'emp' ay nag-iimbak ng mga pangalan ng mga empleyado [“Franky”, “Harry”, “Luke”, “Peter”, “Andrew”], samantalang ang column na 'suweldo' ay nag-iimbak ng mga suweldo ng bawat empleyado [1350, 1000, 900 , 1200, 980] sa 'df' data frame. Ngayon ay gagawa kami ng aming if-else na pahayag gamit ang apply() na paraan.

Susuriin ng kundisyon sa itaas ang bawat halaga sa column na 'suweldo' at magdagdag ng 200 sa mga suweldo ng mga empleyado kung saan ang halaga ng suweldo ay mas mababa sa o katumbas ng 1000. Naimbak namin ang mga halagang ibinalik mula sa apply() function sa bagong column ' pagtaas'. Tingnan natin ang mga resulta mula sa script sa itaas.

Gaya ng nakikita mo, matagumpay na naidagdag ng function ang 200 sa mga value na mas mababa sa o katumbas ng 100. Nanatiling hindi nagbabago ang mga value na mas malaki sa 1000.

Konklusyon:

Sa tutorial na ito, nakita natin na kapag nasiyahan ang kundisyon, ang isang pahayag ng ganitong uri, na tinatawag na case statement, ay nagbabalik ng halaga. Nakita namin kung paano ka makakagawa ng case statement para magsagawa ng kinakailangang operasyon o gawain. Sa tutorial na ito, ginamit namin ang np.where() function at ang apply() function para gumawa ng mga case statement. Nagpatupad kami ng ilang halimbawa para ituro sa iyo kung paano gumamit ng mga pandas case statement sa pamamagitan ng paggamit ng where() function at kung paano gamitin ang apply() function para gumawa ng case statement.