Pandas: so verwenden sie groupby & sort innerhalb von gruppen


Sie können die folgende Syntax verwenden, um Zeilen in einem Pandas-DataFrame zu gruppieren und dann die Werte innerhalb der Gruppen zu sortieren:

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

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Verwenden von GroupBy und Sortieren in Gruppen in Pandas

Nehmen wir an, wir haben den folgenden Pandas-DataFrame, der die in zwei verschiedenen Geschäften getätigten Verkäufe zeigt:

 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

Wir können die folgende Syntax verwenden, um Zeilen nach Filialspalte zu gruppieren und in absteigender Reihenfolge basierend auf der Verkaufsspalte zu sortieren:

 #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

Beachten Sie, dass wir auch das Argument „ascinging=False“ entfernen könnten, um die Verkaufswerte in aufsteigender Reihenfolge zu sortieren:

 #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

Beachten Sie, dass die Funktion head() nur die ersten 5 Werte pro Gruppe anzeigt.

Um die Top-n-Werte pro Gruppe anzuzeigen, verwenden Sie stattdessen einfach head(n) .

Hinweis : Die vollständige Dokumentation der GroupBy-Operation in Pandas finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

Pandas: So berechnen Sie die kumulative Summe pro Gruppe
Pandas: So zählen Sie eindeutige Werte nach Gruppen
Pandas: So berechnen Sie die Korrelation nach Gruppen

Einen Kommentar hinzufügen

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