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

yipeiwu_com5年前Python基础

如下所示:

>> 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设计】。

相关文章

Python编程之event对象的用法实例分析

本文实例讲述了Python编程中event对象的用法。分享给大家供大家参考,具体如下: Python提供了Event对象用于线程间通信,它是由线程设置的信号标志,如果信号标志位为假,则线...

python使用opencv按一定间隔截取视频帧

关于opencv OpenCV 是 Intel 开源计算机视觉库 (Computer Version) 。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多...

关于numpy数组轴的使用详解

关于numpy数组轴的使用详解

概述 按照图一中aixs=0,对aixs=0上下对应的数据进行相加在学习numpy的时候,最难理解的就是轴的概念,我们知道坐标系中有轴的概念,那么两个轴是否有关联呢?为了便于理解,特写此...

Django REST framework 视图和路由详解

Django REST framework 视图和路由详解

DRF中的Request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。...

python调用fortran模块

在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装好numpy,就可以使用f2py。不过对win...