Wie finde ich die häufigsten Werte in numpy ndarray?

Ich habe ein numpy ndarray mit der Form (30.480.640), wobei die 1. und 2. Achse Orte (Breite und Länge) darstellen, die 0. Achse tatsächliche Datenpunkte enthält. Ich möchte den häufigsten Wert entlang der 0. Achse an jedem Ort verwenden, der soll ein neues Array mit der Form (1.480.640) .ie erstellen:

>>> data
array([[[ 0,  1,  2,  3,  4],
        [ 5,  6,  7,  8,  9],
        [10, 11, 12, 13, 14],
        [15, 16, 17, 18, 19]],

       [[ 0,  1,  2,  3,  4],
        [ 5,  6,  7,  8,  9],
        [10, 11, 12, 13, 14],
        [15, 16, 17, 18, 19]],

       [[40, 40, 42, 43, 44],
        [45, 46, 47, 48, 49],
        [50, 51, 52, 53, 54],
        [55, 56, 57, 58, 59]]])

(perform calculation)

>>> new_data 
array([[[ 0,  1,  2,  3,  4],
        [ 5,  6,  7,  8,  9],
        [10, 11, 12, 13, 14],
        [15, 16, 17, 18, 19]]])

Die Datenpunkte enthalten negtive und positive Gleitkommazahlen. Wie kann ich solche Berechnungen durchführen? Danke vielmals!

Ich habe es mit numpy.unique versucht, aber ich habe "TypeError: unique () hat ein unerwartetes Schlüsselwortargument 'return_inverse'". Ich verwende numpy Version 1.2.1, die unter Unix installiert ist, und es unterstützt return_inverse nicht. Ich habe es auch versucht Modus, aber es dauert ewig, um so große Datenmengen zu verarbeiten. Gibt es also eine alternative Möglichkeit, die häufigsten Werte abzurufen? Danke noch einmal.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage