Heim > Backend-Entwicklung > Python-Tutorial > Wie erhalte ich Zeilen mit der maximalen Anzahl in gruppierten Pandas-DataFrames?

Wie erhalte ich Zeilen mit der maximalen Anzahl in gruppierten Pandas-DataFrames?

DDD
Freigeben: 2024-12-20 07:14:12
Original
768 Leute haben es durchsucht

How to Get Rows with the Maximum Count in Grouped Pandas DataFrames?

Zeilen mit maximaler Anzahl in gruppierten Pandas-DataFrames abrufen

Problem:

Alle Zeilen aus einem Pandas-DataFrame abrufen, die vorhanden sind der Maximalwert für die Spalte „count“, gruppiert nach „Sp“ und „Mt“ Spalten.

Beispiele:

Beispiel 1:

Eingabedatenrahmen:

Sp Mt Value count
MM1 S1 a 3
MM1 S1 n 2
MM1 S3 cb 5
MM2 S3 mk 8
MM2 S4 bg 10
MM2 S4 dgd 1
MM4 S2 rd 2
MM4 S2 cb 2
MM4 S2 uyi 7

Erwartet Ausgabe:

Sp Mt Value count
MM1 S1 a 3
MM1 S3 cb 5
MM2 S3 mk 8
MM2 S4 bg 10
MM4 S2 uyi 7

Beispiel 2:

Eingabedatenrahmen:

Sp Mt Value count
MM2 S4 bg 10
MM2 S4 dgd 1
MM4 S2 rd 2
MM4 S2 cb 8
MM4 S2 uyi 8

Erwartete Ausgabe:

Sp Mt Value count
MM2 S4 bg 10
MM4 S2 cb 8
MM4 S2 uyi 8

Lösung:

  1. Ermitteln Sie die maximale Anzahl pro Gruppe:
import pandas as pd

df.groupby(['Sp', 'Mt'])['count'].max()
Nach dem Login kopieren

Dies gibt eine Serie mit der maximalen Anzahl für jede eindeutige Kombination aus „Sp“ und „Mt“ zurück.

  1. Erstellen Sie eine boolesche Maske:
idx = df.groupby(['Sp', 'Mt'])['count'].transform(max) == df['count']
Nach dem Login kopieren

Dadurch wird eine boolesche Maske erstellt, wobei „True“ Zeilen mit angibt die maximale Anzahl innerhalb ihrer Gruppe.

  1. Filtern Sie den DataFrame:
df[idx]
Nach dem Login kopieren

Dadurch wird der DataFrame so gefiltert, dass nur Zeilen mit der IDX-Maske enthalten sind ist True, was zur gewünschten Ausgabe führt.

Hinweis: Es werden mehrere Zeilen mit gleicher Maximalanzahl zurückgegeben wenn sie in derselben Gruppe vorkommen.

Das obige ist der detaillierte Inhalt vonWie erhalte ich Zeilen mit der maximalen Anzahl in gruppierten Pandas-DataFrames?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage