Panda's: groupby & sorteren binnen groepen gebruiken


U kunt de volgende syntaxis gebruiken om rijen in een Panda DataFrame te groeperen en vervolgens de waarden binnen de groepen te sorteren:

 df. sort_values ([' var1 ',' var2 '],ascending= False ). groupby (' var1 '). head ()

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: GroupBy gebruiken en in groepen sorteren in Panda’s

Laten we zeggen dat we het volgende panda’s DataFrame hebben, waarin de verkopen in twee verschillende winkels worden weergegeven:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['B', 'B', 'A', 'A', 'B', 'B', 'A', 'A'],
                   ' sales ': [12, 25, 8, 14, 10, 20, 30, 30]})

#view DataFrame
print (df)

  blind sales
0 B 12
1 B 25
2 to 8
3 to 14
4 B 10
5 B 20
6 to 30
7 to 30

We kunnen de volgende syntaxis gebruiken om rijen te groeperen op winkelkolom en in aflopende volgorde te sorteren op basis van de verkoopkolom :

 #group by store and sort by sales values in descending order
df. sort_values ([' store ', ' sales '],ascending= False ). groupby (' store '). head ()

	blind sales
1 B 25
5 B 20
0 B 12
4 B 10
6 to 30
7 to 30
3 to 14
2 to 8

Merk op dat we ook het argument oplopend=False kunnen verwijderen om de verkoopwaarden in oplopende volgorde te sorteren:

 #group by store and sort by sales values in ascending order
df. sort_values ([' store ',' sales ']). groupby (' store '). head ()

	blind sales
2 to 8
3 to 14
6 to 30
7 to 30
4 B 10
0 B 12
5 B 20
1 B 25

Merk op dat de functie head() alleen de eerste 5 waarden per groep weergeeft.

Om de top n-waarden per groep weer te geven, gebruikt u eenvoudigweg head(n) .

Opmerking : u kunt hier de volledige documentatie van de GroupBy-bewerking in panda’s vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Panda’s: hoe bereken je de cumulatieve som per groep
Panda’s: unieke waarden per groep tellen
Panda’s: hoe de correlatie per groep te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert