Heim >Backend-Entwicklung >Python-Tutorial >Wie kann Pandas Begriffe in gruppierten DataFrames effizient zählen?
Begriffe in gruppierten DataFrames zählen: Eine Pandas-Lösung
Dieser Artikel befasst sich mit der Herausforderung, Begriffe innerhalb von Gruppen zu zählen und die Ergebnisse in einem DataFrame zusammenzufassen . Mit Pandas lässt sich diese Aufgabe elegant lösen, ohne auf ineffiziente Schleifen zurückgreifen zu müssen. Betrachten Sie den folgenden DataFrame:
df = pd.DataFrame([ (1, 1, 'term1'), (1, 2, 'term2'), (1, 1, 'term1'), (1, 1, 'term2'), (2, 2, 'term3'), (2, 3, 'term1'), (2, 2, 'term1') ])
Das Ziel besteht darin, nach „ID“ und „Gruppe“ zu gruppieren und die Vorkommen jedes „Begriffs“ zu zählen. Um dies zu erreichen, bietet Pandas eine prägnante Lösung:
df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)
Diese Operation gruppiert den DataFrame nach den Spalten „id“, „group“ und „term“, zählt das Vorkommen jeder eindeutigen Kombination und gibt a zurück zusammengefasster DataFrame mit Multi-Index-Spalten und einer Einzelwertspalte namens „size“, die die Anzahl enthält. Die Funktion „Unstack“ formt den DataFrame in ein breites Format mit einer Spalte für jeden eindeutigen Begriff um, wie unten gezeigt:
id group term size 1 1 term1 3 1 term2 2 2 term3 1 2 2 term1 3
Timing-Analyse
Für größere Für die Verarbeitung von Datensätzen ist das Verständnis der Leistungsmerkmale dieser Lösung von entscheidender Bedeutung. Um dies zu beurteilen, betrachten Sie einen DataFrame mit 1 Million Zeilen, der mit dem folgenden Code generiert wurde:
df = pd.DataFrame(dict(id=np.random.choice(100, 1000000), group=np.random.choice(20, 1000000), term=np.random.choice(10, 1000000)))
Die Profilierung des Gruppierungs- und Zählvorgangs zeigt, dass er selbst große Datensätze effizient verarbeiten kann:
df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)
Diese Leistung ist auf die optimierte Natur der zugrunde liegenden Gruppierungs- und Aggregationsmechanismen von Pandas zurückzuführen, was es zu einem hervorragenden Werkzeug für die effiziente Arbeit mit großen Datensätzen macht.
Das obige ist der detaillierte Inhalt vonWie kann Pandas Begriffe in gruppierten DataFrames effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!