Pandų grupė pagal vidurkį

Pandu Grupe Pagal Vidurki



Kai sudedame dvi ar daugiau reikšmių ir jų sumą padalijame iš bendro sudėtų verčių skaičiaus, gaunamas vidurkis. Pandas Mean pateikia duomenų arba vertės vidurkį pagal nurodytą ašį. Pandos grąžins eilutę su vidurkiu visoje ašyje, jei duomenų rėmui bus pritaikytas vidurkio () metodas. Pandos grąžina skaitinę reikšmę (vieną skaičių), jei serijoje naudojamas „mean()“. Sukūrus kategorijų grupes, funkcijas galima pritaikyti kategorijoms. Tai paprasta idėja, bet labai efektyvi technika, dažnai taikoma duomenų moksle. Tai leidžia mums sukurti kiekvienos grupės duomenų suvestinę, pritaikyti grupei būdingus pakeitimus ir atlikti duomenų filtravimą. Naudojant groupby() funkciją, objektą galima padalyti, pritaikyti funkciją ir tada sujungti produktus. Su juo galima sugrupuoti didelius duomenų rinkinius ir atlikti operacijas su grupėmis.

Kaip Pandose naudoti metodą groupby.mean()?

Norėdami apskaičiuoti duomenų rėmelio vidurkį arba konkrečių duomenų rėmelio stulpelių vidurkį, galime naudoti funkciją groupby.mean(). Toliau pateiktuose pavyzdžiuose parodysime, kaip jį naudoti.







01 pavyzdys: vieno sveikojo skaičiaus stulpelio vidurkio nustatymas sugrupuojant vieno stulpelio duomenis

Naudodami funkciją pd.DataFrame() pirmiausia sukursime duomenų rėmelį, kad galėtume suskirstyti duomenų rėmelio stulpelio ar stulpelių duomenis į grupes ir rasti jų vidutinę reikšmę. Prieš kurdami duomenų rėmelį, turime importuoti pandų modulį kartu su numpy biblioteka.





Kaip matote, duomenų rėmelį sukūrėme naudodami pandų žodyną. Df duomenų rėmelyje turime 3 stulpelius, t. y. „prekės“, „gamintojas“ ir „kiekis“. Stulpelyje „prekės“ išsaugojome reikšmes („marškiniai“, „kaklaraištis“, „kelnės“, „marškiniai“, „kaklaraištis“, „kelnės“, „marškiniai“, „kelnės“, „kelnės“, „kelnės“). kaklaraištis), o stulpeliuose „gamintojas“ ir „kiekis“ yra reikšmės („italija“, „Prancūzija“, „kinija“, „Prancūzija“, „kinija“, „italija“, „kinija“, „italija“, „Prancūzija“, „Kinija“) ir (13, 16, 21, 32, 26, 41, 24, 42, 12, 15) atitinkamai. Sugrupuokime reikšmes gamintojo stulpelyje ir nustatykime kiekvieno atskiro gamintojo vidutinę kiekio reikšmę.





Gamintojo vertės „Kinija“ vidutinė kiekio vertė yra 21,5, „Prancūzija“ – 20,0, o „Italija“ – 32,0. Taip pat galime nurodyti išvesties indeksą naudodami funkciją reset_index su funkcija groupby.mean().



02 pavyzdys: Raskite vienos slankiosios stulpelio vidurkį sugrupuodami vienos stulpelio duomenis

Matėme, kaip sugrupavus duomenis galime rasti sveikojo skaičiaus stulpelio vidurkį. Dabar pabandykime kitą duomenų tipo stulpelį, pvz., float. Duomenų rėmelis su bent vienu stulpeliu su slankiosiomis reikšmėmis bus sukurtas naudojant pd.DataFrame() funkciją.

Įdėję žodyną į pd.DataFrame(), sukūrėme duomenų rėmelį su trimis stulpeliais. Stulpelyje „vardas“ saugomi kai kurių atsitiktinių žaidėjų vardai („Sam“, „Jay“, „Leo“, „Mike“, „Will“, „Billy“, „Jhonny“, „Lara“, „Hanna“, „Tonis“), stulpelis „komanda“, nurodantis komandą, kuriai priklauso kiekvienas žaidėjas („A“, „A“, „B“,  „A“, „B“, „A“, „C“, „B“). “, „C“, „C“), o stulpelyje „aukštis“ saugomi kiekvieno žaidėjo ūgiai kaip slankioji reikšmė (5,6, 5,4, 6,3, 5,2, 5,5, 6,4, 5,6, 5,8, 6,0, 5,2). Sugrupuokime duomenis stulpelyje „komanda“ ir nustatykime kiekvienos atskiros „komandos“ vertės vidutinę aukščio reikšmę.

Matote, kad A komandos žaidėjų ūgio vidurkis yra 5,65, o B ir C komandų žaidėjų ūgiai yra atitinkamai 5,866 ir 5,6.

03 pavyzdys: kelių stulpelių vidurkio nustatymas naudojant groupby.mean() funkciją

Ankstesniuose pavyzdžiuose nustatėme vieno stulpelio vidurkį. Tačiau taip pat galima nustatyti daugelio kiekvienos grupės stulpelių vidurkį. Importavę pandas ir numpy modulius, sukurkime duomenų rėmelį, turintį daugiau nei vieną skaitinį stulpelį.

Naujai sukurtame duomenų rėmelyje yra trys stulpeliai su etiketėmis „pavadinimas“, „rezultatas“ ir „atitikimai“. Stulpelių pavadinimai su duomenų reikšmėmis kaip eilutė  („Ron“, „Jim“, „Dany“, „Jim“, „Jim“, „Dany“, „Ron“, „Ron“, „Dany“, „Jim“ ), o „balas“ ir „atitiktys“ susideda iš skaitinių duomenų, tokių kaip (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) ir (2, 3, 1, 2, 1, 3). , 4, 1, 2, 1). Dabar, sugrupavę stulpelio „pavadinimas“ duomenis, suraskime stulpelio „balas“ ir „atitikties“ vidurkį. Tam bus naudojama funkcija groupby.mean().

Galima pastebėti, kad grupė „Dany“ turi 2,66 balo vidurkį per 2,00 rungtynių. Grupės Jim vidutinis balas yra 2,75, o žaidžiamų rungtynių vidurkis yra 1,75. Grupės „Ron“ vidutinė balo reikšmė yra 2,66, o sužaistų rungtynių vidutinė vertė yra 2,33.

Kategorijų grupės vidurkį pagal objektą taip pat galima apskaičiuoti naudojant agg() metodą. Vidurkį pateiksime kaip agg() funkcijos argumentą. Norėdami agreguoti naudodami vieną ar kelias operacijas per nurodytą ašį, galime naudoti funkciją agg().

Išvestis yra tokia pati kaip ir anksčiau.

04 pavyzdys: nustatykite konkrečių stulpelių vidurkį sugrupuodami kelis stulpelius

1, 2 ir 3 pavyzdžiuose sugrupavome vieno stulpelio reikšmes arba duomenis. Dabar sugrupuosime kelis stulpelius naudodami stulpelių etikečių sąrašą, esantį funkcijoje groupby(), tada rasime vidutinę kiekvienos grupės reikšmę. Žodynas „d“ bus perduotas funkcijos pd.Dataframe() viduje kaip įvestis kuriant duomenų rėmelį.

Sukūrėme reikiamą duomenų rėmelį. Stulpelyje „sportas“ saugomi kai kurių sporto šakų pavadinimai („Badmintonas“, „futbolas“, „tenisas“, „krepšinis“, „futbolas“, „tenisas“, „krepšinis“, „futbolas“, „badmintonas“, „ krepšinis“, „krepšinis“, „tenisas“), šalių pavadinimus („Kinija“, „Rusija“, „Italija“, „Ispanija“, „Rusija“, „Italija“, „Kinija“, „Italija“, „ Ispanija“, „Kinija“, „Rusija“, „Italija“) saugomi stulpelyje „šalis“. Tuo tarpu stulpelyje „Pergalė“ įrašėme kiekvienos šalies laimėtų rungtynių skaičių kiekvienoje sporto šakoje (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Naudokime funkciją groupby.mean() norėdami rasti stulpelio „laimėti“ reikšmių vidurkį, sugrupuodami stulpelius „sportas“ ir „šalis“.

Funkcija sėkmingai nustatė kiekvienos šalies sporto šakos „laimėjimo“ stulpelio verčių vidurkius. Sugrupuotą duomenų rėmelį galima nustatyti iš naujo naudojant funkciją reset_index(), kuri taip pat generuoja naują indeksą, suteikdama jam tinkamą duomenų rėmelio struktūrą.

Prie kiekvienos duomenų rėmelio eilutės pridedamas indeksas. Norėdami išdėstyti rezultatus patrauklioje lentelėje, taip pat galime naudoti funkciją pivot().

Išvada

Šioje pamokoje aptarėme, kas yra skaičių vidurkis arba vidurkis ir kaip rasti konkretaus stulpelio (vieno ar kelių) vidurkį sugrupavus duomenų rėmelio stulpelį ar stulpelius. Šiame straipsnyje įdiegėme kelis pavyzdžius, kad išmokytume, kaip nustatyti vieno sveikojo skaičiaus arba slankiojo stulpelio vidurkį sugrupuojant vieno stulpelio duomenis; kaip nustatyti kelių stulpelių vidurkį naudojant groupby.mean() funkciją; taip pat kaip nustatyti konkrečių stulpelių vidurkį sugrupuojant kelis stulpelius.