Khi tôi có a=1
và b=2
, tôi có thể viết a,b=b,a
để a
và b
được hoán đổi với nhau.Hoán đổi Cột với các mảng NumPy
tôi sử dụng ma trận này là một mảng:
[ 1, 2, 0, -2]
[ 0, 0, 1, 2]
[ 0, 0, 0, 0]
Việc trao đổi các cột của một mảng NumPy không hoạt động:
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]
Nó mang lại:
[ 1, 0, 0, -2]
[ 0, 1, 1, 2]
[ 0, 0, 0, 0]
Vì vậy x[:,1]
đã chỉ bị ghi đè và không được chuyển đến x[:,2]
.
Tại sao lại xảy ra trường hợp này?
Câu hỏi hay. Nó hoạt động như mong đợi với các danh sách thông thường, ví dụ: 'd = [0,1,2,3]; d [: 2], d [2:] = d [2:], d [: 2] 'hiệu suất' [2, 3, 0, 1] ' –