Pandas Groupby Average

Pandas Groupby Average



Când adunăm două sau mai multe valori și suma lor este împărțită la numărul total de valori adăugate, rezultatul este o medie. Pandas Mean returnează media datelor sau a valorii de-a lungul unei axe date. O serie cu media pe o axă va fi returnată de panda dacă metoda mean() este aplicată unui cadru de date. Pandas returnează o valoare numerică (un singur număr) dacă „mean()” este folosit pe o serie. Funcțiile pot fi aplicate categoriilor după crearea grupurilor de categorii. Este o idee simplă, dar o tehnică extrem de eficientă, care este frecvent aplicată în știința datelor. Ne permite să creăm un rezumat al datelor pentru fiecare grup, să aplicăm modificări specifice grupului și să efectuăm filtrarea datelor. Cu funcția groupby(), obiectul poate fi împărțit, poate fi aplicată o funcție, iar produsele pot fi apoi combinate. Seturi mari de date pot fi grupate cu aceasta, iar operațiunile pot fi efectuate pe grupuri.

Cum se utilizează metoda groupby.mean() în Pandas?

Pentru a calcula media unui cadru de date sau media unor coloane specifice ale unui cadru de date, putem folosi funcția groupby.mean(). Vom demonstra cum să-l folosim în următoarele exemple.







Exemplul # 01: Determinați media unei singure coloane întregi prin gruparea datelor unei singure coloane

Folosind funcția pd.DataFrame(), vom crea mai întâi un cadru de date astfel încât să putem împărți datele coloanei sau coloanelor din cadrul de date în grupuri și apoi să găsim valoarea medie a acestora. Înainte de a crea cadrul de date, trebuie să importam modulul panda împreună cu biblioteca numpy.





După cum se poate vedea, am creat cadrul nostru de date folosind dicționarul panda. Avem 3 coloane în cadrul nostru de date df, adică „articole”, „producător” și „cantitate”. În coloana „articole”, am stocat valorile („cămașă”, „cravată”, „pantaloni”, „cămașă”, „cravată”, „pantaloni”, „cămașă”, „pantaloni”, „pantaloni”, „ cravată”), în timp ce  coloanele „producător” și  „cantitate” care conțin valorile („italia”, „franța”, „china”, „franța”,  „china”, „italia”, „china”, „italia”, „Franța”, „china”) și respectiv (13, 16, 21, 32, 26, 41, 24, 42, 12, 15). Să grupăm valorile în coloana producătorului și să determinăm valoarea cantității medii pentru fiecare producător distinct.





Valoarea de producător „china” are o valoare medie a cantității de 21,5, valoarea medie a cantității pentru „Franța” este 20,0, iar valoarea medie a cantității pentru „Italia” este 32,0. De asemenea, putem specifica un index la ieșire folosind funcția reset_index cu funcția groupby.mean().



Exemplul # 02: Găsiți media unei singure coloane flotante prin gruparea datelor unei singure coloane

Am văzut cum putem găsi media coloanei întregi după gruparea datelor. Acum să încercăm o altă coloană de tip de date, cum ar fi float. Un cadru de date cu cel puțin o coloană cu valori flotante va fi creat folosind funcția pd.DataFrame().

Punând un dicționar în interiorul pd.DataFrame(), am creat un cadru de date cu trei coloane. Coloana „nume” stochează numele unor jucători aleatori („Sam”, „Jay”, „Leo”, „Mike”, „Will”, „Billy”, „Jhonny”, „Lara”, „Hanna”, „Tony”), coloana „echipă” care reprezintă echipa din care face parte fiecare jucător („A”, „A”, „B”,  „A”, „B”, „A”, „C”, „B „, „C”, „C”), iar coloana „înălțime” stochează înălțimile fiecărui jucător ca valoare flotantă (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). Să grupăm datele în coloana „echipă” și să determinăm valoarea medie a înălțimii pentru fiecare valoare distinctă a „echipei”.

Puteți vedea că valoarea medie a înălțimii jucătorilor echipei A este de 5,65, în timp ce înălțimile medii ale jucătorilor din echipele B și C sunt 5,866 și, respectiv, 5,6.

Exemplul # 03: Determinați media coloanelor multiple folosind funcția groupby.mean()

În exemplele anterioare, am determinat media unei singure coloane. Cu toate acestea, poate fi determinată și media a numeroase coloane pentru fiecare grup. Să creăm un cadru de date având mai mult de o coloană numerică, după importul panda și modulele numpy.

În cadrul de date nou creat, există trei coloane cu etichetele „nume”, „scor” și „potriviri”. Numele coloanelor având valorile datelor ca șir  („Ron”, „Jim”, „Dany”, „Jim”, „Jim”, „Dany”, „Ron”, „Ron”, „Dany”, „Jim” ), în timp ce „scorul” și „potrivirile” constau în date numerice ca (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) și (2, 3, 1, 2, 1, 3). , 4, 1, 2, 1). Acum să găsim media coloanei „scor” și „potriviri” după gruparea datelor coloanei „nume”. Funcția groupby.mean() va fi folosită pentru aceasta.

Se poate observa că lotul ‘Dany’ are un scor mediu de 2,66 în 2,00 meciuri. Grupa Jim are un scor mediu de 2,75 iar valoarea medie a meciurilor jucate este de 1,75. În timp ce grupa „Ron” are o valoare medie a scorului de 2,66, iar valoarea medie a meciurilor jucate este de 2,33.

Media unui grup de categorii după obiect poate fi calculată și folosind metoda agg(). Vom furniza media ca argument pentru funcția agg(). Pentru a agrega folosind operații unice sau multiple pe axa dată, putem folosi funcția agg().

Ieșirea este aceeași ca înainte.

Exemplul # 04: Determinați media coloanelor specifice prin gruparea coloanelor multiple

În exemplele 1, 2 și 3, am grupat valorile sau datele unei singure coloane. Acum vom grupa mai multe coloane utilizând lista de etichete de coloane din cadrul funcției groupby() și apoi vom găsi valoarea medie pentru fiecare grup. Un dicționar „d” va fi transmis în interiorul funcției pd.Dataframe() ca intrare pentru a crea cadrul de date.

Am creat cadrul de date necesar. Coloana „sport” stochează numele unor sporturi („Badminton”, „fotbal”, „tenis”, „baschet”, „fotbal”, „tenis”, „baschet”, „fotbal”, „badminton”, „ baschet”, „baschet”, „tenis”), numele țărilor („China”, „Rusia”, „Italia”, „Spania”, „Rusia”, „Italia”, „China”, „Italia”, „ Spania”, „China”, „Rusia”, „Italia”) sunt stocate în coloana „țară”. În timp ce în coloana „câștigă” am stocat numărul de meciuri câștigate de fiecare țară în fiecare sport (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Să folosim funcția groupby.mean() pentru a găsi media valorilor coloanei „win” prin gruparea coloanelor „sport” și „țară”.

Funcția a determinat cu succes mediile valorilor coloanei „câștigă” pentru fiecare sport din țară. Cadrul de date grupat poate fi resetat folosind funcția reset_index(), care generează și un nou index, oferindu-i o structură de cadru de date adecvată.

Se adaugă un index pentru fiecare rând al cadrului de date. Pentru a aranja rezultatele într-un tabel atractiv, putem folosi și funcția pivot().

Concluzie

În acest tutorial, am discutat despre ce este media sau media numerelor și cum să găsim media unei anumite coloane (una sau mai multe) după gruparea coloanei sau coloanelor unui cadru de date. Am implementat câteva exemple în acest articol pentru a vă învăța cum să determinați media unei singure coloane întregi sau flotante prin gruparea datelor unei singure coloane; cum se determină media mai multor coloane folosind funcția groupby.mean(); și, de asemenea, cum să determinați media coloanelor specifice prin gruparea coloanelor multiple.