2017-11-09 3 views
1

Ich habe ein Array y, die von Form (m, n) ist und ein Array indices, die von Form (m, n, k) ist. Angenommen, ich möchte folgendes tun (in Python):Erstellen numpy Array mit einem anderen Array und einem Indexierungsfeld

x = np.ndarray(shape=(m,n,k)) 
for i in range(m): 
    for j in range(n): 
     for l in range(k): 
      x[i,j,l] = y[indices[i,j,l],j] 

Gibt es eine Möglichkeit, dies zu tun einfach NumPy verwenden, die nicht benötigt mit for Schleifen?

+1

Warum nicht für Loops verwenden? Sie könnten Generatoren verwenden, die for-Schleifen verwenden, aber effizienter sind, wenn Sie das suchen. –

+0

Ich versuche nur, mich ein wenig mehr mit NumPy vertraut zu machen. Ich könnte sicherlich for-Schleifen verwenden, ich möchte nur wissen, ob es eine einfache Möglichkeit gibt, dies mit NumPy-Funktionen zu schreiben, von denen ich nichts weiß. –

Antwort

Verwandte Themen