Ich habe ein numpy ndarray mit der Form von (30.480.640), die 1. und 2. Achse, die Positionen (Breite und Länge) darstellt, die 0. Achse enthält tatsächliche Datenpunkte. Ich möchte den häufigsten Wert entlang der 0. Achse an jedem Ort verwenden , das ein neues Array mit Form von (1.480.640) .ie zu konstruieren:Wie findet man die häufigsten Werte 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]]])
Die Datenpunkte negtive und positive Schwimm Zahlen enthält. Wie kann ich solche Berechnungen durchführen? Danke vielmals!
Ich versuchte mit numpy.unique, aber ich bekam "TypeError: unique() hat ein unerwartetes Schlüsselwortargument 'return_inverse'". Ich benutze numpy Version 1.2.1 unter Unix installiert und es unterstützt nicht return_inverse. .Ich habe 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 zu erhalten? Danke noch einmal.
Was meinst du mit dominantem Wert? Ich verstehe die Frage nicht. –
Ich werde den Kommentar von @HenryGomersall - Ich habe kein Scooby, was Ihre Frage ist entweder ... –
Sorry für Ihre Verwirrung ... Ich meine die häufigsten Werte .. – oops