Ich habe zwei 2D-Nummernfelder (in diesem Beispiel in Bezug auf Größe und Inhalt vereinfacht) mit identischen Größen.Summieren von Daten aus Array basierend auf anderen Array in Numpy
Eine ID-Matrix:
1 1 1 2 2
1 1 2 2 5
1 1 2 5 5
1 2 2 5 5
2 2 5 5 5
und eine Wertematrix:
14.8 17.0 74.3 40.3 90.2
25.2 75.9 5.6 40.0 33.7
78.9 39.3 11.3 63.6 56.7
11.4 75.7 78.4 88.7 58.6
79.6 32.3 35.3 52.5 13.3
Mein Ziel ist es, Zählung und Summe die Werte aus der zweiten Matrix durch die IDs von den gruppierten erste Matrix:
1: (8, 336.8)
2: (9, 453.4)
5: (8, 402.4)
Ich kann dies in einer for
Schleife tun, aber wenn die Matrizen Größen in Tausend statt nur 5x5 und Tausende von eindeutigen IDs haben, dauert es eine Menge Zeit zu verarbeiten.
Hat numpy
eine clevere Methode oder eine Kombination von Methoden dafür?
Nice one! Ich war mir der 'return_ *' Argumente für 'np.unique' nicht bewusst. – kazemakase
@Divakar: Danke! Dies war genau die Art von Lösung, die ich aufgrund der Vektorisierung mit einer guten Leistung suchte. – Chau