Como encontrar os valores mais frequentes no numdarray?

Eu tenho um ndarray numpy com forma de (30,480,640), o 1 º e 2 º eixo representando locais (latitude e longitude), o eixo 0 contém pontos de dados reais.Eu quero usar o valor mais freqüente ao longo do eixo 0 em cada local, que é construir uma nova matriz com forma de (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]]])

Os pontos de dados conterão números flutuantes negativos e positivos. Como posso realizar esses cálculos? Muito obrigado!

Eu tentei com numpy.unique, mas eu tenho "TypeError: unique () tem um argumento de palavra-chave inesperada 'return_inverse'" .Estou usando numpy versão 1.2.1 instalado no Unix e não suporta return_inverse..eu também tentei modo, mas demora uma eternidade para processar uma quantidade tão grande de dados ... então existe uma maneira alternativa de obter os valores mais frequentes? Obrigado novamente.

questionAnswers(3)

yourAnswerToTheQuestion