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

yipeiwu_com6年前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二维码生成库qrcode安装和使用示例

Python二维码生成库qrcode安装和使用示例

二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普...

Python函数中定义参数的四种方式

Python中函数参数的定义主要有四种方式: 1. F(arg1,arg2,…) 这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时...

解决Djang2.0.1中的reverse导入失败的问题

在Django中,版本是1.10.*以前的,导入reverse方法是这样的: from django.core.urlresolvers import reverse 前几天我刚刚...

Python基于list的append和pop方法实现堆栈与队列功能示例

Python基于list的append和pop方法实现堆栈与队列功能示例

本文实例讲述了Python基于list的append和pop方法实现堆栈与队列功能。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 堆栈: 堆栈是一个后进先出...

Python入门篇之条件、循环

1.if语句 Python 中的if子句看起来十分熟悉. 它由三部分组成: 关键字本身, 用于判断结果真假的条件表达式, 以及当表达式为真或者非零时执行的代码块. if 语句的语法如下...