Heim > Backend-Entwicklung > Python-Tutorial > Wie kann man Termvorkommen innerhalb von Gruppen in einem Pandas-DataFrame effizient zählen?

Wie kann man Termvorkommen innerhalb von Gruppen in einem Pandas-DataFrame effizient zählen?

Linda Hamilton
Freigeben: 2024-12-12 17:11:14
Original
691 Leute haben es durchsucht

How to Efficiently Count Term Occurrences within Groups in a Pandas DataFrame?

Gruppierung nach Termanzahl in einem Pandas-Datenrahmen

Problem:

Gegeben ist ein Datenrahmen mit die folgenden Spalten: ID, Gruppe und Begriff. Das Ziel besteht darin, die Häufigkeit des Vorkommens jedes Begriffs innerhalb jeder eindeutigen Kombination aus ID und Gruppe zu bestimmen.

Lösung:

Um die Verwendung von Schleifen zu vermeiden, verwenden Sie groupby und Größenfunktionen in Pandas:

df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)
Nach dem Login kopieren

Die Groupby-Funktion gruppiert den Datenrahmen nach den angegebenen Spalten (ID, Gruppe und Begriff), während die Größenfunktion zählt das Vorkommen jeder Kombination. Die Unstack-Funktion erzeugt eine optisch ansprechendere Tabelle mit den in einer Matrix angeordneten Zählungen.

Das Ergebnis ist eine Tabelle mit Multi-Index-Spalten, wobei die ersten beiden Ebenen die Kombination aus ID und Gruppe darstellen und die dritte Ebene entspricht dem Begriff. Jede Zelle in der Tabelle zeigt an, wie oft ein bestimmter Begriff für die entsprechende ID und Gruppe vorkommt.

Zeitpunkt:

Für große Datensätze (z. B. 1.000.000 Zeilen) , die Leistung ist ausgezeichnet:

df = pd.DataFrame(dict(id=np.random.choice(100, 1000000),
                       group=np.random.choice(20, 1000000),
                       term=np.random.choice(10, 1000000)))
Nach dem Login kopieren

Bei Verwendung des oben genannten Ansatzes beträgt die verstrichene Zeit ungefähr 1 Sekunde.

Das obige ist der detaillierte Inhalt vonWie kann man Termvorkommen innerhalb von Gruppen in einem Pandas-DataFrame effizient zählen?. 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