Hier ist das Problem. Lassen Sie uns sagen, ich habe eine Matrix A =Mapping über 2 numpy.darray gleichzeitig
array([[ 1., 0., 2.],
[ 0., 0., 2.],
[ 0., -1., 3.]])
und einen Vektor der Indizes p = array([0, 2, 1])
. Ich möchte eine 3x3-Matrix A in ein Array der Länge 3 (nenne es v) umwandeln, wobei v [j] = A [j, p [j]] für j = 0, 1, 2. Ich kann es auf die folgende Weise tun :
v = map(lambda (row, idx): row[idx], zip(A, p))
So für die obige Matrix A und einen Vektor der Indizes p erwarte ich array([1, 2, -1])
(dh 0-ten Element der Reihe 0, 2. Element der Reihe 1, 1. Element der Zeile 2) zu erhalten.
Aber kann ich das gleiche Ergebnis erzielen, indem ich native numpy verwende (dh ohne explizites Zippen und dann Mapping)? Vielen Dank.
Ihre letzte Zeile ist die richtige 'numpy' Funktionalität – hpaulj