2016-07-29 6 views
0

Ich habe ein 1D numpy Beobachtungsfeld Beispiel [a, b, c, d]. a, b, c, d nimmt kontinuierliche Werte an, wobei jeder zu einer anderen endlichen Domäne gehört. Beispiel a liegt von -2. zu 2. usw.Array Karte zu einem eindeutigen Schlüssel nach Diskretisierung

Mein Ziel ist es, eine solche Beobachtung zu einer einzigen Nummer zuzuordnen. Beispiel [1,2, -3,4] und [1,2, -2,7,4] wird mit Hilfe der Diskretisierung auf die gleiche Zahl x abgebildet. Auch [1 0 0 1] und [0 1 1 0] sollten auf einzelne eindeutige Zahlen abgebildet werden!

Wie würde ich mit numpy gehen.

+0

tun Könnten Sie bitte teilen, was die erwartete Ausgabe für [1, 2, -3,4]? – Mahdi

Antwort

0

Wenn Ihr Diskretisierungsprozess wird, um die nächste ganze Zahl unter (Rundung in Richtung minus unendlich, anstatt in Richtung Null), dann könnte man so etwas wie diese

>>> a = np.array([-1.6, -0.5, 1.2, 2.2]) 
>>> (np.floor(a + 0.5) * [1000, 100, 10, 1]).sum() 
-1988.0 
Verwandte Themen