Pandas DataFrame: Gruppieren nach zwei Spalten und Zählen von Beobachtungen
Bei der Datenanalyse ist es oft notwendig, Daten basierend auf bestimmten Spalten und zu gruppieren Zählen Sie die Anzahl der Beobachtungen innerhalb jeder Gruppe. Um dies mit Pandas DataFrame zu erreichen, gehen wir auf das folgende Problem ein.
Problemstellung:
Betrachten Sie einen Pandas DataFrame mit mehreren Spalten. Das Ziel besteht darin, den DataFrame basierend auf zwei Spalten, nämlich „col5“ und „col2“, zu gruppieren und die Anzahl der eindeutigen Zeilen innerhalb jeder Gruppe zu zählen. Darüber hinaus möchten wir die größte Anzahl für jeden „col2“-Wert ermitteln.
Lösung:
Um den DataFrame zu gruppieren und die Zeilen in jeder Gruppe zu zählen, können wir Verwenden Sie die Pandas-Funktion groupby(). Hier ist eine Schritt-für-Schritt-Anleitung:
Schritt 1: Gruppieren Sie den DataFrame
Gruppieren Sie den DataFrame nach den Spalten „col5“ und „col2“:
<code class="python">grouped_df = df.groupby(['col5', 'col2'])</code>
Schritt 2: Zeilen zählen
Wenden Sie die Funktion size() auf den gruppierten DataFrame an, um die Anzahl der eindeutigen Zeilen in jeder Gruppe zu zählen:
<code class="python">counts = grouped_df.size()</code>
Schritt 3: Maximale Anzahl für jeden „col2“ ermitteln
Um die größte Anzahl für jeden „col2“-Wert zu ermitteln, können wir die Anzahlen im DataFrame weiter nach „col2“ und dann gruppieren Wenden Sie die Funktion max() an:
<code class="python">max_counts = counts.groupby(level=1).max()</code>
Ausgabe:
Die obigen Schritte liefern uns zwei separate DataFrames:
Das obige ist der detaillierte Inhalt vonWie gruppiere ich Pandas DataFrame nach zwei Spalten und zähle Beobachtungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!