Denne artikkelen vil lære deg hvordan du kan telle de distinkte verdiene for hver gruppe etter gruppering av dataene ved hjelp av GroupBy () -metoden. Ved hjelp av pandaene.GroupBy () -metode, vi kan enkelt dele opp dataene i flere grupper slik at aggregeringsfunksjonene kan brukes på hver gruppe. I pandaer er denne teknikken en essensiell del av dataanalysen. Det er flere måter å bestemme hvor mange unike verdier som er til stede i en kolonne med DataFrame for en datagruppe. Bruke DataFrame.Groupby (), Nunique (), DataFrame.AGG (), og serier.Value_Counts () Metoder osv., Vi kan få antall distinkte verdier for gruppene.
Hvordan telle de unike verdiene etter å ha gruppert dataene i pandaer
Først vil vi dele opp dataene i kolonnen eller serien i grupper av kategorier. Deretter vil vi bruke en funksjon for å beregne antall unike data/verdier for gruppen av kategorier. I de følgende eksemplene vil vi bruke forskjellige funksjoner for å telle de forskjellige dataene for grupper av kategorier.
Eksempel nr. 01: Tell de distinkte verdiene fra en DataFrame -kolonne ved hjelp av verdien av verdiene ()
Funksjonsverdiene_Count () Returnerer et objekt med tellinger av forskjellige verdier. Det resulterende objektet vil bli arrangert i synkende rekkefølge, med det første elementet som visst. Som standard utelukker det NA -verdier. La oss først lage en dataaframe. Dataframe vil bli opprettet etter import av Pandas 'modul.
Vi har opprettet vår DataFrame ved å bruke en ordbok inne i PD.DataFrame () -funksjon. Dataframe består av to kolonner, 'Student' og 'Age'. Kolonnenstudenten som inneholder dataverdiene ('Dave', 'Sybil', 'Dave', 'Jenny', 'Dave', 'Dave', 'Sybil', 'Jenny', 'Jenny', 'Sybil') og The Kolonne 'alder' inneholder verdiene (14, 15, 16, 16, 15, 14, 15, 14, 14, ingen). La oss nå gruppere dataene og bestemme de totale unike verdiene for gruppene.
Funksjonen har returnert de totale distinkte verdiene for gruppene som er opprettet i kolonnen 'Student'. For eksempel for eksempel for eksempel "Dave", oppstår aldersverdien '14' i kolonnen 'Age' to ganger, og verdiene '15' og '16' skjer bare en eneste gang, og så videre. Som nevnt har funksjonen også ignorert den manglende verdien.
Eksempel nr. 02: Tell de distinkte verdiene for flere kolonner ved å bruke verdien () -metoden ()
I forrige eksempel regnet vi de distinkte verdiene til en enkelt kolonne for hver grupperte data/verdi. Nå vil vi bestemme antall distinkte verdier av flere kolonner etter gruppering av en kolonne i DataFrame. Vi trenger en annen dataaframe med minst tre kolonner.
Vi har laget vår dataaframe med tre kolonner, jeg.e., 'navn', 'merker' og 'karakter'. Kolonnemerkene lagrer dataene ('Tyson', 'Nancy', 'Nancy', 'Tyson', 'Jimmy', 'Jimmy', 'Jimmy', 'Nancy', 'Tyson'). Mens kolonnene, 'Marks' og 'karakterer', inneholder verdiene (15, 15, 17, 17, 18, 18, 14, 14, 14) og ('B', 'B', 'A', ' A ',' a ',' a ',' b ',' b ',' b '). La oss nå telle de unike verdiene til kolonnen 'Marks' og 'karakterer' etter å ha gruppert dataene til kolonnen 'Navn'.
Value_Counts () -funksjonen brukes på en liste som inneholder etikettene til kolonnene. Funksjonen har returnert de særegne verdien for hver gruppedata i kolonnen 'Navn'.
Eksempel nr. 3: Tell de distinkte verdiene ved bruk av Groupby.nunique () funksjon
Antall distinkte verdier for hver kolonne returneres etter nunique () -metoden. Nunique () -funksjonen søker kolonne-for-kolonne og henter antall distinkte dataverdier for hver dataframrekke når kolonneaksen er spesifisert (Axis = 'kolonner'). Når du bruker Nunique () -metoden for å bestemme antall distinkte verdier, vil vi først opprette en DataFrame med minst en kolonne som inneholder repeterende data.
Vi opprettet to kolonner, jeg.e., 'ansatt' og 'lønn', i vår dataaframe. Kolonnets ansatt lagrer data som String ('Manager', 'Accountant', 'Manager', 'Manager', 'Clerk', 'Accountant', 'Clerk', 'Clerk', 'Accountant', 'Clerk') og Kolonnen 'lønn' inneholder verdiene (15000, 14000, 15000, 14000, 12000, 13000, 12000, 14000, 15000, 13000). La oss finne de distinkte verdiene i kolonnelønn for grupper i kolonnen 'Ansatt'.
Det er tre unike verdier i kolonnen 'lønn' for gruppene, 'regnskapsfører' og 'kontorist', i kolonnen 'ansatt'. Antall distinkte verdier for gruppens 'manager' er 2.
Eksempel 4: Tell distinkte verdier av flere kolonner ved bruk av nunique () -funksjon
Nå vil vi beregne antallet unike verdier for flere DataFrame -kolonner. La oss legge til en annen kolonne i DataFrame, som vi opprettet i eksempel nr. 3.
Vi har lagt til en ny kolonne 'Post' i DataFrame med dataverdiene ('junior', 'junior', 'senior', 'junior', 'senior', 'senior', 'senior', 'junior', ' Junior ',' Junior '). Nå vil vi telle de unike verdiene til kolonnene 'Post' og 'lønn' for hver gruppedata i kolonnen 'ansatt'. Vi vil bruke AGG () -funksjonen for å finne tellingene av unike verdier for flere kolonner.
Vi grupperte dataene i kolonnen 'Ansatt' og brukte AGG () -funksjonen. Inne i AGG () -funksjonen passerte vi en ordbok med kolonnenavn som nøkler og nunique strengene som verdier av nøkler. Funksjonen har returnert antall unike verdier i kolonnene 'Post' og 'lønn' for hver gruppedata, i.e, 'regnskapsfører', 'kontorist' og 'manager'.
Vi kan også bestemme antall distinkte verdier ved bruk av nunique () -funksjonen uten AGG () -metoden. For dette vil vi først lage en liste med etiketter med kolonner fra, som vi ønsker å telle de forskjellige verdiene. Deretter vil vi bruke Groupby () og nunique -funksjonene på de spesifikke kolonnene i DataFrame inne på listen i stedet for hele DataFrame 'DF'.
Uten AGG () -funksjonen oppnådde vi de samme resultatene som før da vi brukte AGG () -funksjonen.
Vi kan også gruppere flere kolonner og finne antall distinkte verdier for gruppen og undergruppen. La oss gruppere dataene fra kolonner 'ansatt' og 'post' og deretter finne de distinkte verdiene i kolonnen 'lønn' for hver gruppe og undergruppe.
Eksempel 5: Bestem distinkte verdier fra DataFrame -kolonnen ved å bruke unik () -funksjon
Når du arbeider med en bestemt kolonne i en DataFrame, brukes den unike () -funksjonen og returnerer alle kolonnens unike data/verdier. Først vil vi lage et dataaframe som vi finner de unike verdiene i den spesifiserte kolonnen for gruppedataene til en enkelt kolonne, gruppert ved å bruke GroupBy () -funksjonen.
Det er to kolonner i DataFrame, jeg.e., 'Kjønn' og 'alder'. Dataverdiene i kolonnen 'kjønn' er ('mann', 'mann', 'mann', 'kvinne', 'mann', 'kvinne', 'kvinne', 'mann', 'kvinne', 'kvinne') og kolonnen 'alder' lagrer verdiene (19, 19, 20, 18, 20, 18, 19, 20, 17, 20). Nå vil vi gruppere dataene i kolonne 'kjønn' ved hjelp av GroupBy () -funksjonen, og vi vil finne de distinkte verdiene i kolonnealder for hver gruppe.
Funksjonen har returnert en dataaframe med en kolonnes distinkte verdier i stedet for tellinger av distinkte verdier. Imidlertid kan det sees at det er fire unike verdier (18, 19, 17, 20) for gruppen hunn og 2 unike verdier for gruppen hann i kolonnen 'alder'.
Konklusjon
I denne pandasopplæringen diskuterte vi hvordan vi kan bestemme eller telle de distinkte verdiene eller unike data i en kolonne eller kolonner i DataFrame i Pandas. Nå kan du kanskje telle de unike verdiene i pandaer. Vi implementerte flere eksempler i denne artikkelen for å lære deg hvordan du kan telle de distinkte verdiene fra en DataFrame -kolonne ved å bruke Values_Count (), nunique () og unike () -funksjoner etter å ha gruppert dataene ved å bruke GroupBy () -funksjonen.