Wenn ich a=1
und b=2
, kann ich a,b=b,a
schreiben, so dass a
und b
miteinander vertauscht sind.Spalten vertauschen mit NumPy Arrays
Ich benutze diese Matrix als Array:
[ 1, 2, 0, -2]
[ 0, 0, 1, 2]
[ 0, 0, 0, 0]
die Spalten einer numpy Array Swapping funktioniert nicht:
import numpy as np
x = np.array([[ 1, 2, 0, -2],
[ 0, 0, 1, 2],
[ 0, 0, 0, 0]])
x[:,1], x[:,2] = x[:,2], x[:,1]
Es ergibt:
[ 1, 0, 0, -2]
[ 0, 1, 1, 2]
[ 0, 0, 0, 0]
So x[:,1]
hat einfach überschrieben und nicht an x[:,2]
übertragen.
Warum ist das der Fall?
Gute Frage. Es funktioniert wie erwartet mit regulären Listen, z.B. "d = [0,1,2,3]; d [: 2], d [2:] = d [2:], d [: 2] ergibt "[2, 3, 0, 1]" –