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 Pandas中根据列的值选取多行数据

Pandas中根据列的值选取多行数据 # 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value] # 选取某列是否是某...

详解python--模拟轮盘抽奖游戏

详解python--模拟轮盘抽奖游戏

题目: 轮盘分为三部分: 一等奖, 二等奖和三等奖; 轮盘转的时候是随机的, 如果范围在[0,0.08)之间,代表一等奖, 如果范围在[0.08,0.3)之间,代表2等奖, 如果范围在[...

Python3之读取连接过的网络并定位的方法

如下所示: #!/usr/bin/python # coding=utf-8 import json from urllib.request import urlopen from...

利用scrapy将爬到的数据保存到mysql(防止重复)

利用scrapy将爬到的数据保存到mysql(防止重复)

前言 本文主要给大家介绍了关于scrapy爬到的数据保存到mysql(防止重复)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 1.环境建立  ...

python 计算数据偏差和峰度的方法

numpy.set_printtoptions(edgeitems=5):值过多,显示前5个和后5个 偏度:衡量随机分布的不均衡性,偏度=0,数值相对均匀的分布在两侧 峰度:概率密度在均...