在numpy矩阵中交换列

时间:2016-01-24 20:08:14

标签: python numpy

我有一个形状为m,n的numpy矩阵。 现在,我想用第二列交换第一列,第二列,第三列,第三列,等等。

这样做是否有“numpy”方式?

现在,我正在循环一半的num_cols并交换列。

1 个答案:

答案 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,因此将它们按相反顺序放置,因此根据需要交换列的顺序。