Heim > Backend-Entwicklung > Python-Tutorial > 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
Freigeben: 2024-10-23 11:40:02
Original
716 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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

<code class="python">print(result)</code>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

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

<code class="python">print(result)</code>
Nach dem Login kopieren
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage