Pandas Group etter gjennomsnitt

Pandas Group Etter Gjennomsnitt



Når vi legger sammen to eller flere verdier og summen deres blir delt på det totale antallet verdier lagt sammen, er resultatet et gjennomsnitt. Pandas Mean returnerer dataens eller verdiens gjennomsnitt langs en gitt akse. En serie med gjennomsnittet over en akse vil bli returnert av pandaer hvis mean()-metoden brukes på en dataramme. Pandaer returnerer en numerisk verdi (enkelt tall) hvis 'mean()' brukes på en serie. Funksjonene kan brukes på kategoriene etter å ha opprettet gruppene av kategorier. Det er en enkel idé, men en svært effektiv teknikk som ofte brukes i datavitenskap. Den lar oss lage et sammendrag av dataene for hver gruppe, bruke gruppespesifikke modifikasjoner og utføre datafiltrering. Med groupby()-funksjonen kan objektet deles, en funksjon kan brukes, og produktene kan deretter kombineres. Store datasett kan grupperes med dette, og operasjoner kan utføres på gruppene.

Hvordan bruke groupby.mean()-metoden i Pandas?

For å beregne gjennomsnittet av en dataramme eller gjennomsnittet av spesifikke kolonner i en dataramme, kan vi bruke groupby.mean()-funksjonen. Vi vil demonstrere hvordan du bruker det i de følgende eksemplene.







Eksempel # 01: Bestem gjennomsnittet for en enkelt heltallskolonne ved å gruppere dataene til en enkelt kolonne

Ved å bruke funksjonen pd.DataFrame() vil vi først lage en dataramme slik at vi kan dele inn dataene i kolonnen eller kolonnene i datarammen i grupper og deretter finne gjennomsnittsverdien. Før vi oppretter datarammen, må vi importere pandamodulen sammen med numpy-biblioteket.





Som du kan se, har vi laget vår dataramme ved å bruke panda-ordboken. Vi har 3 kolonner i df-datarammen vår, dvs. 'varer', 'produsent' og 'antall'. I kolonnen 'varer' har vi lagret verdiene ('skjorte', 'slips', 'bukser', 'skjorte', 'slips', 'bukser', 'skjorte', 'bukser', 'bukser', ' tie'), mens kolonnene 'produsent' og  'antall' inneholder verdiene ('italy', 'frankrike', 'kina', 'frankrike',  'kina', 'italy', 'kina', 'italy', henholdsvis 'frankrike', 'kina') og (13, 16, 21, 32, 26, 41, 24, 42, 12, 15). La oss gruppere verdiene i produsentens kolonne og bestemme den gjennomsnittlige mengdeverdien for hver enkelt produsent.





Produsentverdien 'kina' har en gjennomsnittlig mengdeverdi på 21,5, gjennomsnittlig mengdeverdi for 'frankrike' er 20,0, og gjennomsnittlig mengdeverdi for 'Italia' er 32,0. Vi kan også spesifisere en indeks til utdata ved å bruke reset_index-funksjonen med groupby.mean()-funksjonen.



Eksempel # 02: Finn gjennomsnittet av en enkelt flytende kolonne ved å gruppere dataene til en enkelt kolonne

Vi har sett hvordan vi kan finne gjennomsnittet av heltallskolonnen etter å ha gruppert dataene. La oss nå prøve en annen datatype-kolonne som float. En dataramme med minst én kolonne med flyteverdier vil bli opprettet ved å bruke pd.DataFrame()-funksjonen.

Ved å legge inn en ordbok i pd.DataFrame(), har vi laget en dataramme med tre kolonner. Kolonnen 'navn' lagrer navnene på noen tilfeldige spillere ('Sam', 'Jay', 'Leo', 'Mike', 'Will', 'Billy', 'Jhonny', 'Lara', 'Hanna', 'Tony'), kolonnen 'lag' som representerer laget som hver spiller tilhører ('A', 'A', 'B',  'A', 'B', 'A', 'C', 'B ', 'C', 'C'), og 'høyde'-kolonnen lagrer høydene til hver spiller som en flyteverdi (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). La oss gruppere dataene i «team»-kolonnen og bestemme gjennomsnittshøydeverdien for hver distinkte «lag»-verdi.

Du kan se at den gjennomsnittlige høydeverdien til lag A-spillere er 5,65, mens gjennomsnittshøyden til spillerne i lag B og C er henholdsvis 5,866 og 5,6.

Eksempel # 03: Bestem gjennomsnittet av flere kolonner ved å bruke groupby.mean()-funksjonen

I de tidligere eksemplene bestemte vi gjennomsnittet av en enkelt kolonne. Imidlertid kan gjennomsnittet av flere kolonner for hver gruppe også bestemmes. La oss lage en dataramme med mer enn én numerisk kolonne, etter å ha importert pandaene og numpy-modulene.

I den nyopprettede datarammen er det tre kolonner med etikettene «navn», «poengsum» og «treff». Kolonnenavnene som har dataverdiene som en streng  ('Ron', 'Jim', 'Dany', 'Jim', 'Jim', 'Dany', 'Ron', 'Ron', 'Dany', 'Jim' ), mens 'poengsum' og 'treff' består av numeriske data som (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) og (2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). La oss nå finne gjennomsnittet av kolonnens 'score' og 'treff' etter å ha gruppert dataene for kolonnen 'navn'. Groupby.mean()-funksjonen vil bli brukt til dette.

Det kan legges merke til at gruppen ‘Dany’ har en snittscore på 2,66 på 2,00 kamper. Gruppen Jim har en gjennomsnittlig poengsum på 2,75 og gjennomsnittsverdien på spilte kamper er 1,75. Mens gruppen «Ron» har en gjennomsnittsscoreverdi på 2,66 og gjennomsnittsverdien av spilte kamper er 2,33.

Gjennomsnittet av en gruppe kategorier etter objektet kan også beregnes ved å bruke agg()-metoden. Vi vil gi gjennomsnittet som et argument til agg()-funksjonen. For å aggregere ved hjelp av enkelt- eller flere operasjoner på tvers av den gitte aksen, kan vi bruke agg()-funksjonen.

Utgangen er den samme som før.

Eksempel # 04: Bestem gjennomsnittet av spesifikke kolonner ved å gruppere flere kolonner

I eksempel 1, 2 og 3 har vi gruppert verdiene eller dataene til en enkelt kolonne. Nå vil vi gruppere flere kolonner ved å bruke listen over kolonneetiketter inne i groupby()-funksjonen, og så finner vi gjennomsnittsverdien for hver gruppe. En ordbok 'd' vil bli sendt i pd.Dataframe()-funksjonen som en inngang for å lage datarammen.

Vi har laget den nødvendige dataramme. Kolonnen 'sport' lagrer navnet på noen idretter ('Badminton', 'fotball', 'tennis', 'basketball', 'fotball', 'tennis', 'basketball', 'fotball', 'Badminton', ' basketball', 'basketball', 'tennis'), navnene på land ('Kina', 'Russland', 'Italia', 'Spania', 'Russland', 'Italia', 'Kina', 'Italia', ' Spania', 'Kina', 'Russland', 'Italia') lagres i kolonnen 'land'. Mens vi i kolonnen 'vinn' har lagret antall kamper vunnet av hvert land i hver sport (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). La oss bruke groupby.mean()-funksjonen for å finne gjennomsnittet av 'vinn'-kolonneverdiene ved å gruppere kolonnene 'sport' og 'land'.

Funksjonen har bestemt gjennomsnittene av 'vinn'-kolonneverdier for hver sport i landet. Datarammen gruppert etter kan tilbakestilles ved å bruke funksjonen reset_index(), som også genererer en ny indeks, som gir den en passende datarammestruktur.

En indeks legges til for hver datarammes rad. For å ordne resultatene i en attraktiv tabell kan vi også bruke pivot()-funksjonen.

Konklusjon

I denne opplæringen har vi diskutert hva gjennomsnittet eller gjennomsnittet av tall er og hvordan du finner gjennomsnittet av en spesifikk kolonne (en eller flere) etter å ha gruppert kolonnen eller kolonnene i en dataramme. Vi implementerte noen få eksempler i denne artikkelen for å lære deg hvordan du bestemmer gjennomsnittet av en enkelt heltall eller flytende kolonne ved å gruppere dataene i en enkelt kolonne; hvordan bestemme gjennomsnittet av flere kolonner ved å bruke groupby.mean()-funksjonen; og også hvordan du bestemmer gjennomsnittet av spesifikke kolonner ved å gruppere de flere kolonnene.