Füllen Sie 2D-Numpy-Array aus drei 1D-Numpy-Arrays

8

Gibt es eine effiziente Möglichkeit, ein 2D-Array der Werte aus unsortierten Koordinatenpunkten zu erstellen (d. h. nicht alle Lons und / oder Lats sind aufsteigend oder absteigend), ohne Schleifen zu verwenden?

Beispieldaten

%Vor%

Beispielausgabe
Jede Spalte stellt eine eindeutige Länge dar (102,5, 5,5, 116,2 und 100) und jede Spalte repräsentiert einen eindeutigen Breitengrad (45,5,65,3, & 43,2).

%Vor%

Obwohl es nicht so einfach ist, weil ich nicht unbedingt weiß, wie viele Duplikate von jedem lon oder lat dort sind, bestimmt die Form des Arrays.

Aktualisierung:
Ich hatte die Daten für meine Frage falsch angeordnet. Ich habe es jetzt arrangiert, also sind sie alle eindeutige Paare und es gibt einen zusätzlichen Datenpunkt, um zu demonstrieren, wie die Daten angeordnet werden sollten, wenn NaNs vorhanden sind.

    
ryanjdillon 27.02.2013, 17:55
quelle

3 Antworten

4

Das von Ihnen gepostete Beispiel ist wenig sinnvoll und erlaubt keine sinnvolle Angabe fehlender Daten. Ich rate hier, aber das einzig Vernünftige, mit dem Sie es zu tun haben, scheint ungefähr so ​​zu sein:

%Vor%

Wenn der Wert in vals[j] aus dem Breitengrad lats[j] und dem Längengrad lons[j] stammt, können die Daten jedoch wie in:

verschlüsselt werden %Vor%

Sie können dies wie folgt in einem Array arrangieren:

%Vor%     
Jaime 27.02.2013, 19:40
quelle
1

Wenn Sie ein 2D-Array erstellen, müssen alle Arrays die gleiche Anzahl an Punkten haben. Wenn das wahr ist, können Sie einfach

tun %Vor%

bearbeite

Ich denke das könnte sein, wonach du suchst, es entspricht mindestens deiner Frage:)

%Vor%

und dann, wenn Ihre Daten sehr gut benommen sind

%Vor%     
danodonovan 27.02.2013 17:57
quelle
1
%Vor%

ergibt

%Vor%     
unutbu 27.02.2013 18:36
quelle

Tags und Links