当前位置:首页 >> 脚本专栏

numpy.ndarray 交换多维数组(矩阵)的行/列方法

如下所示:

 import numpy as np
 P = np.eye(3)
 P
array([[ 1., 0., 0.],
    [ 0., 1., 0.],
    [ 0., 0., 1.]])

交换第 0 行和第 2 行:

 P[[0, 2], :] = P[[2, 0], :]
    # P[(0, 2), :] = P[(2, 0), :]
 P
array([[ 0., 0., 1.],
    [ 0., 1., 0.],
    [ 1., 0., 0.]])

再交换第一列和第三列:

 P[:, [0, 2]] = P[:, [2, 0]]
 P
array([[ 1., 0., 0.],
    [ 0., 1., 0.],
    [ 0., 0., 1.]])

注意以下是错误的做法:

 P[0, :], P[2, :] = P[2, :], P[0, :]
 P
array([[ 0., 0., 1.],
    [ 0., 1., 0.],
    [ 0., 0., 1.]])

    # 不尽写出来啰嗦,而且代表的意义也不是交换

以上这篇numpy.ndarray 交换多维数组(矩阵)的行/列方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。