Heim > Backend-Entwicklung > Python-Tutorial > Wie finde ich nach der Gruppierung den häufigsten Wert in einer Pandas-DataFrame-Spalte?

Wie finde ich nach der Gruppierung den häufigsten Wert in einer Pandas-DataFrame-Spalte?

Patricia Arquette
Freigeben: 2024-11-30 12:13:12
Original
566 Leute haben es durchsucht

How to Find the Most Common Value in a Pandas DataFrame Column After Grouping?

GroupBy pandas DataFrame und Select Most Common Value

Sie haben die Aufgabe, einen Datenrahmen mit drei Zeichenfolgenspalten zu bereinigen, um dies sicherzustellen Die dritte Spalte enthält den korrekten Wert für die angegebene Kombination der ersten beiden Spalten. Der von Ihnen bereitgestellte Codeausschnitt versucht, den Datenrahmen nach den ersten beiden Spalten zu gruppieren und für jede Kombination den häufigsten Wert der dritten Spalte auszuwählen. Beim Versuch, die agg-Funktion auszuführen, tritt jedoch ein Problem auf.

Using Pandas >= 0.16

Die Syntax, die Sie in Ihrem Code verwendet haben, ist veraltet . Verwenden Sie stattdessen die Funktion pd.Series.mode, die in Pandas-Versionen 0.16 und höher verfügbar ist. Diese Funktion gibt den häufigsten Wert in einer Reihe von Zeichenfolgen zurück. So wenden Sie es an:

source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode)
Nach dem Login kopieren

Diese Syntax gruppiert den Datenrahmen nach „Land“ und „Stadt“, wendet die pd.Series.mode-Funktion auf die Spalte „Kurzname“ jeder Gruppe an und zeigt die an Ergebnisse.

Wenn Sie die Ausgabe als DataFrame benötigen, verwenden Sie dies line:

source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode).to_frame()
Nach dem Login kopieren

Umgang mit mehreren Modi

Die pd.Series.mode-Funktion bewältigt auch effektiv Situationen, in denen mehrere Modi vorhanden sind. Wenn beispielsweise mehrere Werte mit der gleichen Häufigkeit wie der häufigste Wert auftreten, werden sie als Liste von Modi zurückgegeben.

Alternativen (nicht empfohlen)

Sie können die Funktion „statistics.mode“ aus der Python-Standardbibliothek verwenden. Dieser Ansatz funktioniert jedoch nicht gut, wenn mehrere Modi verarbeitet werden. Es löst einen StatisticsError aus, wenn es keinen einzelnen, häufigsten Wert gibt.

Das obige ist der detaillierte Inhalt vonWie finde ich nach der Gruppierung den häufigsten Wert in einer Pandas-DataFrame-Spalte?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage