Seite 1 von 1

Integer Array mit index-array transformieren

Verfasst: Mittwoch 27. August 2014, 12:59
von schneitzmaster
Hallo Leute,
ich hab einen integer-array (a), dessen Inhalt Indizes darstelen, vorliegen. Diesen möchte ich nun mittels eines master-index-arrays (idx) transformieren.
Die brute-force-methode sieht wie folgt aus:

Code: Alles auswählen

import numpy as np
idx = np.array([10,23,452,12,25]) 
a   = np.array( [[0,2,3],
                 [2,1,4]],dtype=int )
for i in range(len(a)):
    for j in range(len(a[i])):
        a[i][j] = idx[a[i][j]]

Code: Alles auswählen

print a 
[[ 10 452  12]
 [452  23  25]]
Gibt es dafür eine schnellere elegantere "python-like" Variante?

Re: Integer Array mit index-array transformieren

Verfasst: Mittwoch 27. August 2014, 13:11
von EyDu
Ja:

Code: Alles auswählen

idx[a]

Re: Integer Array mit index-array transformieren

Verfasst: Mittwoch 27. August 2014, 13:30
von schneitzmaster
super vielen dank!