Zählen Sie effizient die Anzahl der Vorkommen eindeutiger Subarrays in NumPy?

8

Ich habe ein Array mit der Form (128, 36, 8) und möchte die Anzahl der Vorkommen der eindeutigen Subarrays der Länge 8 in der letzten Dimension finden.

Ich kenne np.unique und np.bincount , aber diese scheinen eher für Elemente als für Subarrays zu sein. Ich habe diese Frage gesehen, aber es geht darum, das erste Vorkommen eines bestimmten zu finden Subarray, anstatt die Zählungen aller eindeutigen Subarrays.

    
Will 16.06.2015, 22:37
quelle

3 Antworten

3

Die Frage besagt, dass das Eingabe-Array die Form (128, 36, 8) hat und wir daran interessiert sind, in der letzten Dimension eindeutige Subarrays der Länge 8 zu finden. Ich gehe also davon aus, dass die Einzigartigkeit entlang der ersten beiden Dimensionen zusammengeführt wird. Nehmen wir A als Eingabe-3D-Array an.

Ermittelt die Anzahl der eindeutigen Unterfelder

%Vor%

Beispiellauf -

%Vor%

Anzahl der Vorkommen eindeutiger Unterfelder ermitteln

%Vor%

Beispiellauf -

%Vor%     
Divakar 17.06.2015, 05:26
quelle
1

Hier habe ich @ Divakars sehr nützliche Antwort geändert, um die Zählungen der einzelnen Subarrays und der Subarrays selbst zurückzugeben, so dass die Ausgabe dieselbe ist wie die von collections.Counter.most_common() :

%Vor%     
Will 17.06.2015 20:31
quelle
0

Ich bin mir nicht sicher, ob das der effizienteste Weg ist, aber das sollte funktionieren.

%Vor%     
farhawa 16.06.2015 23:14
quelle

Tags und Links