我有一个形状为m,n的numpy矩阵。 现在,我想用第二列交换第一列,第二列,第三列,第三列,等等。
这样做是否有“numpy”方式?
现在,我正在循环一半的num_cols并交换列。
答案 0 :(得分:2)
使用numpy slicing来反转数组中的列顺序:
my_array = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
print(my_array[:, ::-1])
<强>输出强>
[[ 4 3 2 1]
[ 8 7 6 5]
[12 11 10 9]
[16 15 14 13]]
典型切片的格式为start:stop:step
。默认情况下,x维片段:
会选择所有行。 y维切片::-1
选择所有列,但步长为-1,因此将它们按相反顺序放置,因此根据需要交换列的顺序。