Jak znaleźć najczęstsze wartości w numpy ndarray?

Mam ndarray numeryczny o kształcie (30,480,640), osi 1 i 2 reprezentujący lokalizacje (szerokość i długość), oś 0 zawiera rzeczywiste punkty danych. Chcę użyć najczęstszej wartości wzdłuż osi 0 w każdej lokalizacji, która ma skonstruować nową tablicę o kształcie (1,480,640) .ie:

>>> 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]]])

Punkty danych będą zawierały ujemne i dodatnie liczby zmiennoprzecinkowe. Jak mogę wykonać takie obliczenia? Wielkie dzięki!

Próbowałem z numpy.unique, ale dostałem „TypeError: unique () dostał nieoczekiwany argument słowa kluczowego„ return_inverse ”. Używam numpy w wersji 1.2.1 zainstalowanej na Uniksie i nie obsługuje return_inverse..I próbowałem również ale trwa wiecznie przetwarzanie tak dużej ilości danych ... więc czy istnieje alternatywny sposób uzyskania najczęstszych wartości? Dzięki jeszcze raz.

questionAnswers(3)

yourAnswerToTheQuestion