Konstruieren Sie ein zweidimensionales Zahlenarray aus Indizes und Werten eines eindimensionalen Arrays

Angenommen, ich habe

Y = np.array([2, 0, 1, 1])

Daraus möchte ich eine Matrix X mit Form erhalten(len(Y), 3). In diesem speziellen Fall sollte die erste Zeile von X eine Eins auf dem zweiten Index und ansonsten eine Null haben. Die zweite Zeile von X sollte eine Eins für den Index 0 und ansonsten eine Null haben. Um es deutlich auszudrücken:

X = np.array([[0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 1, 0]])

Wie erstelle ich diese Matrix? Ich habe angefangen mit

X = np.zeros((Y.shape[0], 3))

Aber dann konnte ich nicht herausfinden, wie die Einträge aus der Liste der Indizes ausgefüllt werden

Wie immer vielen Dank für Ihre Zeit!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage