GOOGLE ADS

Mittwoch, 13. April 2022

Diagonale Elemente durch ein anderes Array in Python ersetzen

Ich habe zwei Matrizen Aund P. Ich möchte die diagonalen Elemente von Adurch die Elemente von ersetzen P. Die gewünschte Ausgabe ist angehängt.

A=np.array([[0, 1, 1, 0],
[1, 0, 0, 1],
[1, 0, 0, 1],
[0, 1, 1, 0]])
P=np.array([[3, 4],
[5, 6]])

Gewünschte Ausgabe:

array([[3, 1, 1, 0],
[1, 4, 0, 1],
[1, 0, 5, 1],
[0, 1, 1, 6]])


Lösung des Problems

Verwenden Sie fill_diagonalmit dem abgeflachten P als Werte für die Diagonale:

np.fill_diagonal(A, P.ravel())

NB. der Betrieb steht

Ausgang:

array([[3, 1, 1, 0],
[1, 4, 0, 1],
[1, 0, 5, 1],
[0, 1, 1, 6]])

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...