Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gruppiere und zähle ich Pandas-DataFrames nach mehreren Spalten und finde die maximale Anzahl?

Wie gruppiere und zähle ich Pandas-DataFrames nach mehreren Spalten und finde die maximale Anzahl?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-23 12:13:02338Durchsuche

How to Group and Count Pandas DataFrames by Multiple Columns and Find Maximum Counts?

Pandas-DataFrames nach zwei Spalten gruppieren, um Zählungen zu erhalten

Betrachten Sie einen DataFrame namens df mit den Spalten col1, col2, col3, col4 und col5, wie im bereitgestellten Beispiel gezeigt Codeausschnitt. Um die Anzahl der Zeilen basierend auf bestimmten Werten in Spalte 5 und Spalte 2 zu ermitteln, führen Sie die folgenden Schritte aus:

Ermitteln der Zeilenanzahl nach Gruppe:

Um die Vorkommen innerhalb jeder Zeile zu zählen Verwenden Sie basierend auf eindeutigen Kombinationen von col5- und col2-Werten die size()-Methode wie folgt:

<code class="python">df.groupby(['col5', 'col2']).size()</code>

Diese Operation gruppiert den DataFrame sowohl nach col5 als auch nach col2 und berechnet die Anzahl der Zeilen innerhalb jeder Gruppe. Die Ausgabe wird eine Reihe mit Indexpaaren (col5, col2) und entsprechenden Zählungen sein.

Beispiel:

Das bereitgestellte Code-Snippet demonstriert diesen Vorgang mithilfe des df DataFrame. Erzeugt die folgende Ausgabe:

col5  col2
1     A       1
      D       3
2     B       2
3     A       3
      C       1
4     B       1
5     B       2
6     B       1
dtype: int64

In dieser Ausgabe stellt jede Zeile eine eindeutige Kombination aus Spalte 5 und Spalte 2 dar, und die entsprechende Anzahl gibt an, wie oft diese Kombination im DataFrame vorkommt.

Ermitteln der größten Anzahl für jeden col2-Wert:

Um die größte Anzahl für jeden eindeutigen Wert von col2 zu ermitteln, führen Sie die folgenden Schritte aus:

  1. Gruppieren Sie den DataFrame nach Nur Spalte 2, ausgenommen Spalte 5.
  2. Berechnen Sie die Zeilenanzahl für jede Spalte 2-Gruppe mit size().
  3. Ermitteln Sie die maximale Anzahl für jede Spalte 2-Gruppe mithilfe der Methode max() für die gruppierte Reihe.

Beispiel:

<code class="python">df.groupby(['col2']).size().groupby(level=1).max()</code>

Dieses Code-Snippet gruppiert df nach col2, berechnet die Anzahl und ermittelt dann die maximale Anzahl für jeden col2-Wert in der folgenden Ausgabe:

col2
A       3
B       2
C       1
D       3
dtype: int64

In dieser Ausgabe ist jeder Wert in Spalte2 der maximalen Anzahl von Zeilen zugeordnet, die diesen Wert in Spalte2 teilen.

Das obige ist der detaillierte Inhalt vonWie gruppiere und zähle ich Pandas-DataFrames nach mehreren Spalten und finde die maximale Anzahl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn