Kiedy mam a=1
i b=2
mogę napisać a,b=b,a
tak że a
i b
są zamienione ze sobą.Zamiana Kolumny z tablic numpy
Używam tego macierz jako tablicy:
[ 1, 2, 0, -2]
[ 0, 0, 1, 2]
[ 0, 0, 0, 0]
zamiana kolumn z numpy tablicy nie działa:
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]
To daje:
[ 1, 0, 0, -2]
[ 0, 1, 1, 2]
[ 0, 0, 0, 0]
Więc x[:,1]
ma zostały po prostu nadpisane i nie zostały przesłane do x[:,2]
.
Dlaczego tak się dzieje?
Dobre pytanie. Działa zgodnie z oczekiwaniami na zwykłych listach, np. 'd = [0,1,2,3]; d [: 2], d [2:] = d [2:], d [: 2] 'daje' [2, 3, 0, 1] ' –