Heim > Artikel > Backend-Entwicklung > Wie kann ich GroupBy-Funktionalität in NumPy ohne eine dedizierte Funktion erreichen?
GroupBy-Funktionalität in NumPy
Das Gruppieren von Daten ist eine häufige Aufgabe bei der Datenanalyse, sodass Sie Daten basierend auf bestimmten Kriterien aggregieren und organisieren können. Obwohl NumPy von Haus aus keine dedizierte Funktion zum Gruppieren nach Funktion bereitstellt, gibt es mehrere Ansätze, mit denen Sie diese Funktionalität erreichen können.
Eine Methode besteht darin, die Funktion np.split() in Kombination mit np.unique() zu verwenden. . Dieser Ansatz basiert auf der Annahme, dass die erste Spalte Ihres Arrays, die als Gruppierungsschlüssel dient, immer größer wird. Indem Sie das Array nach dieser Spalte sortieren und die eindeutigen Werte erhalten, können Sie das Array anschließend mit np.split() in Gruppen aufteilen.
Zum Beispiel das folgende Array:
array([[1, 275], [1, 441], [1, 494], [1, 593], [2, 679], [2, 533], [2, 686], [3, 559], [3, 219], [3, 455], [4, 605], [4, 468], [4, 692], [4, 613]])
Um dieses Array nach der ersten Spalte zu gruppieren, können Sie den folgenden Code verwenden:
a = a[a[:, 0].argsort()] np.split(a[:,1], np.unique(a[:, 0], return_index=True)[1][1:])
Dadurch wird das gewünschte Ergebnis erzielt Ausgabe:
array([[[275, 441, 494, 593]], [[679, 533, 686]], [[559, 219, 455]], [[605, 468, 692, 613]]], dtype=object)
Dieser Ansatz bietet mehrere Vorteile:
Obwohl NumPy selbst möglicherweise keine bestimmte Gruppierungsfunktion hat, bieten die oben beschriebenen Methoden effektive Möglichkeiten, Gruppierungsvorgänge für Ihre Daten durchzuführen, sodass Sie diese effektiv organisieren und analysieren können.
Das obige ist der detaillierte Inhalt vonWie kann ich GroupBy-Funktionalität in NumPy ohne eine dedizierte Funktion erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!