Pande Groupby Prosjek

Pande Groupby Prosjek



Kada zbrojimo dvije ili više vrijednosti i njihov zbroj podijelimo s ukupnim brojem zbrojenih vrijednosti, rezultat je prosjek. Pandas Mean vraća prosjek podataka ili vrijednosti duž zadane osi. Pande će vratiti niz s prosjekom preko osi ako se metoda mean() primijeni na podatkovni okvir. Pande vraćaju numeričku vrijednost (jedan broj) ako se 'mean()' koristi u seriji. Funkcije se mogu primijeniti na kategorije nakon stvaranja grupa kategorija. To je jednostavna ideja, ali vrlo učinkovita tehnika koja se često primjenjuje u znanosti o podacima. Omogućuje nam stvaranje sažetka podataka za svaku grupu, primjenu izmjena specifičnih za grupu i provođenje filtracije podataka. Pomoću funkcije groupby() objekt se može podijeliti, primijeniti funkcija, a proizvodi se zatim mogu kombinirati. Ovim se mogu grupirati veliki skupovi podataka, a nad grupama se mogu izvoditi operacije.

Kako koristiti metodu groupby.mean() u Pandas?

Za izračun prosjeka podatkovnog okvira ili prosjeka određenih stupaca podatkovnog okvira, možemo koristiti funkciju groupby.mean(). Pokazat ćemo kako ga koristiti u sljedećim primjerima.







Primjer # 01: Određivanje prosjeka jednog stupca cijelog broja grupiranjem podataka jednog stupca

Pomoću funkcije pd.DataFrame() prvo ćemo stvoriti podatkovni okvir kako bismo mogli podijeliti podatke stupca ili stupaca podatkovnog okvira u grupe i zatim pronaći njihovu srednju vrijednost. Prije stvaranja podatkovnog okvira, moramo uvesti modul pandas zajedno s bibliotekom numpy.





Kao što se može vidjeti, stvorili smo naš podatkovni okvir pomoću rječnika pandas. Imamo 3 stupca u našem df dataframeu, tj. 'stavke', 'proizvođač' i 'količina'. U stupcu 'artikli' pohranili smo vrijednosti ('košulja', 'kravata', 'hlače', 'košulja', 'kravata', 'hlače', 'košulja', 'hlače', 'hlače', ' kravata'), dok  stupci 'proizvođač' i  'količina' koji sadrže vrijednosti ('italija', 'francuska', 'kina', 'francuska',  'kina', 'italija', 'kina', 'italija', 'francuska', 'kina') i (13, 16, 21, 32, 26, 41, 24, 42, 12, 15). Grupirajmo vrijednosti u stupcu proizvođača i odredimo srednju vrijednost količine za svakog zasebnog proizvođača.





Vrijednost proizvođača 'Kina' ima srednju vrijednost količine od 21,5, srednja vrijednost količine za 'Francusku' je 20,0, a srednja vrijednost količine za 'Italiju' je 32,0. Također možemo odrediti indeks za izlaz pomoću funkcije reset_index s funkcijom groupby.mean().



Primjer # 02: Pronađite srednju vrijednost jednog stupca s pomičnim stupcem grupiranjem podataka jednog stupca

Vidjeli smo kako možemo pronaći srednju vrijednost stupca s cijelim brojevima nakon grupiranja podataka. Sada pokušajmo s drugim stupcem tipa podataka kao što je float. Podatkovni okvir s najmanje jednim stupcem s float vrijednostima stvorit će se pomoću funkcije pd.DataFrame().

Stavljanjem rječnika u pd.DataFrame(), stvorili smo podatkovni okvir s tri stupca. Stupac 'ime' pohranjuje imena nekih nasumičnih igrača ('Sam', 'Jay', 'Leo', 'Mike', 'Will', 'Billy', 'Jhonny', 'Lara', 'Hanna', 'Tony'), stupac 'tim' koji predstavlja tim iz kojeg svaki igrač pripada ('A', 'A', 'B',  'A', 'B', 'A', 'C', 'B ', 'C', 'C'), a stupac 'visina' pohranjuje visine svakog igrača kao float vrijednost (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). Grupirajmo podatke u stupcu 'tim' i odredimo srednju vrijednost visine za svaku posebnu vrijednost 'tima'.

Možete vidjeti da je prosječna vrijednost visine igrača momčadi A 5,65, dok su prosječne visine igrača u momčadi B i C 5,866 odnosno 5,6.

Primjer # 03: Određivanje srednje vrijednosti više stupaca pomoću funkcije groupby.mean()

U prethodnim primjerima odredili smo prosjek jednog stupca. Međutim, također se može odrediti srednja vrijednost brojnih stupaca za svaku grupu. Kreirajmo podatkovni okvir koji ima više od jednog numeričkog stupca nakon uvoza modula pandas i numpy.

U novostvorenom podatkovnom okviru postoje tri stupca s oznakama 'name', 'score' i 'matches'. Nazivi stupaca koji imaju vrijednosti podataka kao niz ('Ron', 'Jim', 'Dany', 'Jim', 'Jim', 'Dany', 'Ron', 'Ron', 'Dany', 'Jim' ), dok se 'rezultat' i 'podudaranje' sastoje od brojčanih podataka kao što su (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) i (2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). Pronađimo sada srednju vrijednost stupca 'rezultat' i 'podudaranja' nakon grupiranja podataka stupca 'ime'. Za to će se koristiti funkcija groupby.mean().

Primjećuje se da grupa ‘Dany’ ima prosječnu ocjenu 2,66 u utakmicama 2,00. Skupina Jim ima prosječnu ocjenu 2,75, a prosječna vrijednost odigranih mečeva je 1,75. Dok skupina 'Ron' ima srednju vrijednost rezultata 2,66, a srednja vrijednost odigranih mečeva 2,33.

Prosjek grupe kategorija po objektu također se može izračunati pomoću metode agg(). Srednju vrijednost dat ćemo kao argument funkciji agg(). Za agregiranje korištenjem jedne ili više operacija preko zadane osi, možemo koristiti funkciju agg().

Izlaz je isti kao i prije.

Primjer # 04: Određivanje srednje vrijednosti određenih stupaca grupiranjem više stupaca

U primjerima 1, 2 i 3 grupirali smo vrijednosti ili podatke jednog stupca. Sada ćemo grupirati više stupaca pomoću popisa oznaka stupaca unutar funkcije groupby(), a zatim ćemo pronaći prosječnu vrijednost za svaku grupu. Rječnik 'd' bit će proslijeđen unutar funkcije pd.Dataframe() kao ulaz za stvaranje podatkovnog okvira.

Stvorili smo potrebni podatkovni okvir. Stupac 'sport' pohranjuje nazive nekih sportova ('Badminton', 'nogomet', 'tenis', 'košarka', 'nogomet', 'tenis', 'košarka', 'nogomet', 'Badminton', ' košarka', 'košarka', 'tenis'), imena država ('Kina', 'Rusija', 'Italija', 'Španjolska', 'Rusija', 'Italija', 'Kina', 'Italija', ' Španjolska', 'Kina', 'Rusija', 'Italija') pohranjeni su u stupcu 'država'. Dok smo u stupcu 'pobjeda' pohranili broj utakmica koje je svaka zemlja dobila u svakom sportu (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Upotrijebimo funkciju groupby.mean() da pronađemo srednju vrijednost stupca 'pobjeda' grupiranjem stupaca 'sport' i 'država'.

Funkcija je uspješno odredila prosjeke vrijednosti stupca 'pobjeda' za svaki sport u zemlji. Grupirani okvir podataka može se poništiti pomoću funkcije reset_index(), koja također generira novi indeks, dajući mu odgovarajuću strukturu okvira podataka.

Indeks se dodaje za svaki red podatkovnog okvira. Kako bismo rezultate posložili u atraktivnu tablicu, također možemo koristiti funkciju pivot().

Zaključak

U ovom smo vodiču raspravljali o tome što je srednja vrijednost ili prosjek brojeva i kako pronaći srednju vrijednost određenog stupca (jednog ili više) nakon grupiranja stupca ili stupaca podatkovnog okvira. Implementirali smo nekoliko primjera u ovom članku kako bismo vas naučili kako odrediti prosjek jednog stupca s cijelim brojem ili pomičnim brojem grupiranjem podataka jednog stupca; kako odrediti srednju vrijednost više stupaca pomoću funkcije groupby.mean(); i također kako odrediti srednju vrijednost određenih stupaca grupiranjem više stupaca.