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

小石头
小石头
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍在 Python 中使用 numpy 库交换多维数组(矩阵)行与列的高效方法。通过切片索引如 P[[0, 2], :] 可实现正确的行交换,而直接赋值如 P[0, :] = P[2, :] 会导致数据覆盖错误。掌握正确的索引技巧对数据处理至关重要。

具体实现方式如下所示:

>> 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 交换多维数组(矩阵)行/列的方法即为全部内容,希望能为大家提供参考,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表