Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führt man mit Pandas DataFrame GroupBy eine Wertzählung durch und ermittelt die maximale Anzahl für mehrere Spalten?

Wie führt man mit Pandas DataFrame GroupBy eine Wertzählung durch und ermittelt die maximale Anzahl für mehrere Spalten?

Linda Hamilton
Linda HamiltonOriginal
2024-10-23 11:40:02633Durchsuche

How to Perform Value Counts and Find Maximum Counts for Multiple Columns Using Pandas DataFrame GroupBy?

Pandas DataFrame GroupBy Multiple Columns for Value Counts

Bei der DataFrame-Manipulation mit Pandas kann die Gruppierung von Daten nach mehreren Spalten wertvolle Erkenntnisse liefern. In diesem Artikel wird gezeigt, wie Sie Beobachtungen beim Gruppieren nach zwei Spalten zählen und die höchste Anzahl für jede Gruppierung ermitteln.

Bei einem DataFrame mit mehreren Spalten ist es möglich, die Funktion „groupby“ zum Gruppieren von Daten anzuwenden basierend auf bestimmten Spalten. Hier haben wir einen DataFrame namens „df“ mit fünf Spalten: „col1“, „col2“, „col3“, „col4“ und „col5“.

<code class="python">import pandas as pd

df = pd.DataFrame([
    [1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], 
    list('AAABBBBABCBDDD'), 
    [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], 
    ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
    ['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']</code>

Zählung nach Zeile Gruppen

Um die Anzahl der Beobachtungen in jeder Zeilengruppe zu zählen, verwenden Sie die Funktion „groupby“ auf die gewünschten Spalten und wenden Sie dann die Funktion „size“ an.

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

Dies erzeugt einen DataFrame mit den gruppierten Spalten als Index und der Größe als Werten.

<code class="python">print(result)</code>

Bestimmen der höchsten Anzahl

Um die maximale Anzahl für jede zu bestimmen Geben Sie den Wert „col2“ ein, verwenden Sie die Funktion „groupby“ für „col2“ und wenden Sie dann die Funktion „max“ auf die gruppierten Daten an.

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

Dadurch wird eine Serie mit der maximalen Anzahl für jede „col2“ erstellt ' Wert.

<code class="python">print(result)</code>

Zusammenfassend lässt sich sagen, dass die Verwendung der Funktionen „groupby“ und „size“ in Pandas eine effiziente Analyse und Aggregation von Daten ermöglicht, sodass Benutzer auf verschiedene Weise Erkenntnisse über ihre Daten gewinnen können.

Das obige ist der detaillierte Inhalt vonWie führt man mit Pandas DataFrame GroupBy eine Wertzählung durch und ermittelt die maximale Anzahl für mehrere Spalten?. 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