Pandas Groupby Average

Pandas Groupby Average



Kapag nagdagdag kami ng dalawa o higit pang mga halaga nang sama-sama at ang kanilang kabuuan ay hinati sa kabuuang bilang ng mga halaga na pinagsama-sama, ang resulta ay isang average. Ibinabalik ng Pandas Mean ang average ng data o value sa isang partikular na axis. Ang isang serye na may average sa isang axis ay ibabalik ng mga pandas kung ang mean() na pamamaraan ay ilalapat sa isang dataframe. Nagbabalik ang mga Panda ng numerical value (solong numero) kung ang 'mean()' ay ginagamit sa isang serye. Ang mga function ay maaaring ilapat sa mga kategorya pagkatapos lumikha ng mga pangkat ng mga kategorya. Ito ay isang simpleng ideya ngunit isang napaka-epektibong pamamaraan na madalas na ginagamit sa data science. Nagbibigay-daan ito sa amin na gumawa ng buod ng data para sa bawat pangkat, maglapat ng mga pagbabagong partikular sa pangkat, at magsagawa ng pagsasala ng data. Gamit ang groupby() function, maaaring hatiin ang object, maaaring ilapat ang isang function, at pagkatapos ay pagsamahin ang mga produkto. Maaaring igrupo dito ang malalaking dataset, at maaaring isagawa ang mga operasyon sa mga pangkat.

Paano Gamitin ang groupby.mean() Method sa Pandas?

Upang kalkulahin ang average ng isang dataframe o ang average ng mga partikular na column ng isang dataframe, maaari naming gamitin ang groupby.mean() function. Ipapakita namin kung paano ito gamitin sa mga sumusunod na halimbawa.







Halimbawa # 01: Tukuyin ang Average ng isang Single Integer Column sa pamamagitan ng Pagpapangkat ng Data ng isang Single Column

Gamit ang pd.DataFrame() function, gagawa muna tayo ng dataframe para mahahati natin ang data ng column o column ng dataframe sa mga pangkat at pagkatapos ay hanapin ang kanilang mean value. Bago likhain ang data frame, dapat nating i-import ang pandas module kasama ang numpy library.





Tulad ng makikita, nilikha namin ang aming dataframe sa pamamagitan ng paggamit ng diksyunaryo ng pandas. Mayroon kaming 3 column sa aming df dataframe, ibig sabihin, 'mga item', 'manufacturer', at 'dami'. Sa column na 'mga item', inimbak namin ang mga halaga ('shirt', 'tie', 'pants', 'shirt', 'tie', 'pants', 'shirt', 'pants', 'pants', ' tie'), habang ang mga column ay 'manufacturer' at  'quantity' na naglalaman ng mga value ('italy', 'france', 'china', 'france',  'china', 'italy', 'china', 'italy', 'france', 'china') at (13, 16, 21, 32, 26, 41, 24, 42, 12, 15) ayon sa pagkakabanggit. Ipangkat natin ang mga halaga sa column ng manufacturer at tukuyin ang halaga ng mean na dami para sa bawat natatanging manufacturer.





Ang halaga ng tagagawa na 'china' ay may mean na halaga ng dami na 21.5, ang mean na halaga ng dami para sa 'france' ay 20.0, at ang mean na halaga ng dami para sa 'Italy' ay 32.0. Maaari din nating tukuyin ang isang index sa output sa pamamagitan ng paggamit ng reset_index function na may groupby.mean() function.



Halimbawa # 02: Hanapin ang Mean ng isang Single Float Column sa pamamagitan ng Pagpapangkat ng Data ng isang Single Column

Nakita natin kung paano natin mahahanap ang mean ng column ng integer pagkatapos pagsama-samahin ang data. Ngayon subukan natin ang isa pang column ng datatype tulad ng float. Ang isang dataframe na may hindi bababa sa isang column na may mga float value ay gagawin gamit ang pd.DataFrame() function.

Sa pamamagitan ng paglalagay ng diksyunaryo sa loob ng pd.DataFrame(), nakagawa kami ng dataframe na may tatlong column. Ang column na 'name' ay nag-iimbak ng mga pangalan ng ilang random na manlalaro ('Sam', 'Jay', 'Leo', 'Mike', 'Will', 'Billy', 'Jhonny', 'Lara', 'Hanna', 'Tony'), ang column na 'team' na kumakatawan sa koponan kung saan kabilang ang bawat manlalaro ('A', 'A', 'B',  'A', 'B', 'A', 'C', 'B ', 'C', 'C'), at ang column na 'taas' ay nag-iimbak ng mga taas ng bawat manlalaro bilang float value (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). Ipangkat natin ang data sa column na 'team' at tukuyin ang mean height value para sa bawat natatanging value ng 'team'.

Makikita mo na ang average na height value ng mga manlalaro ng team A ay 5.65, samantalang ang average na height ng mga manlalaro sa team B at C ay 5.866 at 5.6, ayon sa pagkakabanggit.

Halimbawa # 03: Tukuyin ang Mean ng Maramihang Mga Hanay Gamit ang function na groupby.mean()

Sa mga naunang halimbawa, tinukoy namin ang average ng isang column. Gayunpaman, ang ibig sabihin ng maraming mga hanay para sa bawat pangkat ay maaari ding matukoy. Gumawa tayo ng dataframe na mayroong higit sa isang numeric na column, pagkatapos i-import ang mga pandas at numpy modules.

Sa bagong likhang dataframe, mayroong tatlong column na may mga label na 'pangalan', 'iskor', at 'mga tugma'. Ang mga pangalan ng column na mayroong mga value ng data bilang isang string  ('Ron', 'Jim', 'Dany', 'Jim', 'Jim', 'Dany', 'Ron', 'Ron', 'Dany', 'Jim' ), samantalang ang 'iskor' at 'mga tugma' ay binubuo ng numerical data bilang (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) at (2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). Ngayon, hanapin natin ang ibig sabihin ng column na 'iskor' at 'mga tugma' pagkatapos pagsama-samahin ang data ng column na 'pangalan'. Ang groupby.mean() function ay gagamitin para dito.

Mapapansing may average score na 2.66 ang grupong ‘Dany’ sa 2.00 na laban. Ang grupong Jim ay may average na iskor na 2.75 at ang average na halaga ng mga laban na nilalaro ay 1.75. Habang ang grupong ‘Ron’ ay may mean score value na 2.66 at ang mean value ng mga laban na nilalaro ay 2.33.

Ang average ng isang pangkat ng mga kategorya ayon sa object ay maaari ding kalkulahin gamit ang agg() method. Ibibigay namin ang mean bilang argumento sa agg() function. Upang pagsama-samahin gamit ang isa o maramihang mga operasyon sa buong ibinigay na axis, maaari naming gamitin ang agg() function.

Ang output ay katulad ng dati.

Halimbawa # 04: Tukuyin ang Mean ng Mga Tukoy na Hanay sa pamamagitan ng Pagpapangkat ng Maramihang Mga Hanay

Sa mga halimbawa 1, 2, at 3, pinagsama-sama namin ang mga halaga o data ng isang column. Ngayon ay papangkatin natin ang maraming column sa pamamagitan ng paggamit ng listahan ng mga label ng column sa loob ng function na groupby(), at pagkatapos ay makikita natin ang average na halaga para sa bawat pangkat. Ang isang diksyunaryo na 'd' ay ipapasa sa loob ng pd.Dataframe() function bilang input upang gawin ang dataframe.

Nagawa namin ang kinakailangang dataframe. Ang column na 'sports' ay nag-iimbak ng pangalan ng ilang sports ('Badminton', 'football', 'tennis', 'basketball', 'football', 'tennis', 'basketball', 'football', 'Badminton', ' basketball', 'basketball', 'tennis'), ang mga pangalan ng mga bansa ('China', 'Russia', 'Italy', 'Spain', 'Russia', 'Italy', 'China', 'Italy', ' Spain', 'China', 'Russia', 'Italy') ay naka-imbak sa column na 'bansa'. Samantalang sa kolum na ‘panalo’ ay inimbak natin ang bilang ng mga laban na napanalunan ng bawat bansa sa bawat sport (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Gamitin natin ang function na groupby.mean() upang mahanap ang mean ng mga value ng column na 'win' sa pamamagitan ng pagpapangkat ng column na 'sports' at 'country'.

Matagumpay na natukoy ng function ang mga average ng 'win' column values ​​para sa bawat sport sa bansa. Maaaring i-reset ang pinagsama-samang dataframe gamit ang reset_index() function, na bumubuo rin ng bagong index, na nagbibigay dito ng naaangkop na istraktura ng dataframe.

Nagdaragdag ng index para sa bawat row ng dataframe. Upang ayusin ang mga resulta sa isang kaakit-akit na talahanayan, maaari rin nating gamitin ang pivot() function.

Konklusyon

Sa tutorial na ito, tinalakay natin kung ano ang ibig sabihin o average ng mga numero at kung paano hanapin ang mean ng isang partikular na column (isa o higit pa) pagkatapos pagsama-samahin ang column o column ng isang dataframe. Nagpatupad kami ng ilang halimbawa sa artikulong ito upang turuan ka kung paano matukoy ang average ng isang solong integer o float na column sa pamamagitan ng pagpapangkat ng data ng isang column; kung paano matukoy ang ibig sabihin ng maraming column gamit ang groupby.mean() function; at gayundin kung paano matukoy ang ibig sabihin ng mga partikular na column sa pamamagitan ng pagpapangkat ng maraming column.