Ho un ndarray numpy con la forma di (30.480.640), il 1 ° e il 2 ° asse che rappresentano le posizioni (latitudine e longitute), l'asse 0 contiene i punti dati effettivi.Voglio utilizzare il valore più frequente lungo l'asse 0 in ogni posizione , che è la costruzione di una nuova matrice a forma di (1.480.640) .ie:Come trovare i valori più frequenti in numpy ndarray?
>>> 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]]])
I punti di dati conterranno numeri galleggianti negtive e positivi. Come posso eseguire tali calcoli? Molte grazie!
Ho provato con numpy.unique, ma ho ottenuto "TypeError: unique() ha ottenuto un argomento di parole chiave inaspettate 'return_inverse'". Sto usando numpy versione 1.2.1 installata su Unix e non supporta return_inverse. . Ho anche provato la modalità, ma ci vuole un istante per elaborare una quantità così grande di dati ... quindi c'è un modo alternativo per ottenere i valori più frequenti? Grazie ancora.
Cosa intendi per valore dominante? Non capisco la domanda. –
In secondo luogo il commento di @HenryGomersall - Non ho Scooby quale sia la tua domanda ... –
Scusa per la tua confusione ... Intendevo i valori più frequenti .. – oops