numpy.rollaxis()详解

如何理解numpy.rollaxis及numpy.swapaxes 如何理解numpy.rollaxis??? 阅读详情

numpy.rollaxis(a, axis, start=0) 向后滚动指定的轴,直到它位于给定位置。
参数:    
a:ndarray
输入数组。
axis:int
轴向后滚动。其他轴的位置相对于彼此不改变。
start:int,可选
轴被滚动,直到它位于此位置之前。默认值为0,导致“完成”滚动。
返回:    
res:ndarray
对于Numpy> = 1.10,始终返回a的视图。对于早期的Numpy版本,只有当轴的顺序改变时,才返回a的视图,否则返回输入数组。
# 创建了三维的 ndarray
import numpy as np
a = np.arange(8).reshape(2,2,2)
print '原数组:'print aprint np.rollaxis(a,2) 
print np.rollaxis(a,2,1)我们来先看结果,如下:
原数组:
[[[0 1]
[2 3]]
[[4 5]
 [6 7]]]
调用 np.rollaxis(a,2)函数结果:
[[[0 2]
 [4 6]]
 [[1 3]
 [5 7]]]
调用 np.rollaxis(a,2,1) 函数结果:
[[[0 2]
 [1 3]]
 [[4 6]
 [5 7]]]
如何理解呢,很简单,写出原数组的轴的索引:
000 001
010 011
100 101
110 111


调用 np.rollaxis(a,2)函数意思就是将2轴旋转至轴0的前面,轴序0,1,2变成1,2,0 操作等同于np.rollaxis(a,2,0)新的轴至原轴的索引可以表示为:
000 010 
100 110 
001 011
101 111


对应的值即为:


[[[0 2]
[4 6]]
[[1 3]
[5 7]]]


调用 np.rollaxis(a,2,1) 将轴2滚动到轴1之前(相当于轴1和2位置交换),函数结果:轴序0,1,2变更为0, 2, 1
[[[0 2]
[1 3]]
 [[4 6]
 [5 7]]]


000 010
001 011
100 110
101 111


依此类推:


>>> print(np.rollaxis(a,1))# 将第1轴移动到轴0前面(相当于轴0和1交换位置),轴序0,1,2变更为1, 0, 2,等同于np.(rollaxis(a,1,0)


[[[0 1]
  [4 5]]
 [[2 3]
 [6 7]]]


000 001
100 101
010 011
110 111


>>> print(np.rollaxis(a,0,1))# 将第0轴移动到轴1之前,相当于没动,轴序0,1,2依旧为 0,1,2
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
>>> print(np.rollaxis(a,0,2))# 将第0轴移动到轴2之前,轴序0,1,2变更为 1,0,2
[[[0 1]
  [4 5]]
 [[2 3]
  [6 7]]]

>>> print(np.rollaxis(a,0,1))# 将第0轴移动到轴1之前,相当于没动,轴序0,1,2依旧为 0,1,2

[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
>>> print(np.rollaxis(a,0,2))# 将第0轴移动到轴2之前,轴序0,1,2变更为 1,0,2
[[[0 1]
  [4 5]]
 [[2 3]
  [6 7]]]


000 001
100 101
010 011
110 111


>>> print(np.rollaxis(a,2,0))# 将轴2滚动到轴0之前面,轴序0,1,2变更变更为 1,2,0


[[[0 2]
  [4 6]]
 [[1 3]
  [5 7]]]


000 010
100 110
001 011
101 111


swapaxes函数相对就简单多了,轴顺序直接对调就是了。
--------------------- 
作者:Kieven2oo8 
来源:优快云 
原文:https://blog.youkuaiyun.com/kieven2008/article/details/80035668 
版权声明:本文为博主原创文章,转载请附上博文链接!

numpy库的基础应用 Numpy库的一些基本应用,主要讲了对于数组的一些知识。 阅读详情

相关推荐

2.4、numpy 数组相关操作

numpy 数组相关操作

融码一生:专注 Python、C/C++、Linux、机器学习 & 深度学习、NLP、算法领域分享 923

【NumPy】深入解析numpy中的rollaxis方法

我坚信知识的力量,希望通过我的分享,能够帮助更多的人掌握这些技术,并在实际项目中发挥作用。这种操作是非常高效的,因为它只需要更新数组的元数据(轴的顺序),而不需要实际移动数据。例如,在处理图像数据时,可能需要将图像的通道维度(如RGB通道)滚动到数组的前面或后面,以适应某些库或框架的输入要求。此外,随着NumPy库的不断发展和更新,未来可能会有更多关于轴滚动和数组重排的新功能和优化出现。方法提供了一种简洁的方式来实现轴的顺序调整,使得特定轴能够被滚动到数组的前端或后端。通过示例,我们展示了如何使用。

2402_83361138的博客 1705

别再死记硬背MAML原理了!用PyTorch手撸一个Omniglot小样本分类器(附完整代码)

本文详细介绍了如何使用PyTorch实现MAML(模型无关的元学习)算法,构建一个Omniglot小样本分类器。通过实战代码演示,帮助读者理解MAML的双层优化原理,并提供了完整的训练循环、网络架构设计及调试技巧,适合想要掌握元学习技术的开发者。

weixin_29191669的博客 131

numpy.rollaxis函数解析

numpy.rollaxis函数解析numpy轴(axis)、秩(rank)的概念numpy.rollaxis解析 大家好,我是公来福,有问题烦请大家email我,共同探讨,我的email是gongqianyun_nk@163.com numpy轴(axis)、秩(rank)的概念 在研究rollaxis函数之前,我们需要知道numpy中关于轴的概念。 秩(rank):numpy中数组的维数称为秩...

公来福的博客 1644

车辆动力学从入门到进阶之路(传统篇)

新手如何入门车辆动力学开发领域,本文为您引路!

CrazyRabbit的博客 1万+

uniapp实现app版本发现新版本后,自动更新

app实现自动更新

oldolder的博客 1284

np.rollaxis函数说明

np.rollaxis函数说明 函数 rollaxis(a, axis, start=0) ''' a: n维数组 axis: 需要滚动的轴 start: 滚动到位置的,默认为0 ''' 用于将数组a的某个轴滚动到指定的维度。 例子: import numpy as np trainset_x = np.zeros(shape=[50000, 3072]) print('raw tr...

buxucixingztx的博客 1013

工业组态软件Intouch(单机版)入门{第二篇}

第5步:*都装好之后,需要进行测试授权是否生效,测试1:能否正常运行项目和编辑项目(能否编辑项目,取决于你的授权是否包含开发功能,如果只是单一的runtime授权,则只能运行项目,不能编辑项目)。在线第3步:点击第一个框右边的按钮,弹出文件浏览窗口,选中你的XMl授权文件,打开,然后你的授权出现在下方的列表中,勾选你的授权,然后点击Activate,等待几秒,授权就会出现在管理器页面的列表中,并且Status会显示Activated。第1步:软件安装好之后,先要配置好授权服务器。等待几秒,激活完成。

weixin_41571357的博客 1万+

numpy 中强大的 transpose() 、rollaxis()、swapaxes()

numpy 中强大的 transpose() 、rollaxis()、swapaxes(),极其方便的多维数组的维度变换

marksim的博客 1685

MyBatis示例

MyBatis示例 基本示例 环境准备 jdk : 1.8.0 MyEclipse MySQL MyBatis-3.4.6.jar 新建JavaWeb Project 命名:mybatis 导入JAR包或添加POM.xml中添加依赖 MyBatis_config.xml <?xml version="1.0" encoding=&a

走在命运的左岸 721

人工智能训练师三级考试大纲深度解读|理论+实操分值分布+六大模块占比

三级人工智能训练师考试分为理论和实操两大模块(各100分,合格线60分)。理论考试包含AI基础(30%)、数据标注(25%)、模型训练(20%)、测试(15%)和系统运维(10%),题型为客观题;实操考核侧重数据标注(40%)、模型测试(35%)和系统运维(25%),采用现场操作形式。复习应优先关注AI基础和数据标注等高分值模块,实操需重点掌握标准流程和结果准确性(占评分70%)。考试要求两模块均达标,理论侧重概念理解,实操强调规范执行与文档完整。

白话机器学习 1103

Python:矩阵转置numpy.transpose(),numpy.swapaxes(),numpy.rollaxis()

在Python中,进行三维矩阵转置的方法主要依赖于NumPy库。以下是几种常见的方法,以及相应的例子:

weixin_42046845的博客 2349

图神经网络实战——利用节点回归预测网络流量

在机器学习中,回归指的是对连续值的预测。通常与分类形成鲜明对比,分类的目标是找到正确的类别(即离散值,而非连续值)。在图数据中,分类和回归分别对应于节点分类和节点回归。在本节中,我们将尝试预测每个节点的连续值,而非分类变量。

盼小辉丶的博客 1万+

numpy中rollaxis()的理解

最近接触到这个函数,发现在网上的博客说的并不是很明白,有的说的有点过于复杂了(也可能是自己水平太low),下面是自己对于这个函数的理解 rollaxis(a, axis, start = 0) 这个函数的用处是翻滚数组的轴axis,对于轴的理解我们可以借助3纬的空间坐标系,我们都知道,空间直角坐标系的维度是3维,相对应的就有3个轴,按照一般的顺序,依次是x, y, z满足右手螺旋法则...

dddmm123456的博客 543

【EMC专题】为什么芯片规格书ESD性能中看不到MM(机器放电模型)

器件级ESD包括三种类型,HBM人体放电模型、MM机械放电模型和CDM元件充电模型。但在芯片规格书中为什么只见到HBM模型与CDM模型,却没有看到MM模型的数据?

一点硬件 451

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

对numpy中的axis(轴)的理解、rollaxis()与swapaxes()函数的比较

在理解这两个函数之前,首先要理解numpy数组的轴 轴(axis)是数组中维的标志,用维来解释的话过于抽象了,我们可以通过一个实例来说明 假设我有一张学生成绩表,成绩表是按座位排列,成绩表如下 78 34 87 25 83 25 67 97 22 13 78 43 87 45 89 那么这张表的横轴就是就是排,竖轴就是列,我们可以算哪一排或者哪一列的平均分或者最高分,就是指定轴做运算,我们给把张表当成一个二维数组并加上数组下标,变成下表:[[78,34,87,25,83],[25,67,97,22,13],

yiyu_951的博客 674

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

用numpy.rollaxis改变图片轴次序

问题有些数据集的图片默认图片格式是[chanel][height][width], 然而有些地方显示图片是[height][width][chanel], 这就需要改变一下图片轴的次序。numpy.rollaxis()方法old_img是3*32*32的,new_img是32*32*3的newimg = np.rollaxis(old_img, 0, 3) # 把轴0放到轴3的位置其他如果只是为了

Avalon 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python numpy array转置_NumPy数组的转置和轴对换

在 NumPy 中,利用 transpose()、ndarray.T、rollaxis() 和 swapaxes() 等函数可实现翻转数组的操作。transpose() 函数该函数可实现翻转给定数组的维度,并且返回数组的 1 个视图(View)。使用transpose()函数的方法如下:numpy.transpose(arr)其中,参数 arr 表示要转置的数组。例如 ar r是一个 3 行 5 ...

weixin_39866867的博客 2636

numpy翻转数组

numpy学习第十一课

m0_73812051的博客 604

numpy数据科学与计算(2)

【代码】numpy数据科学与计算(2)

2401_86047731的博客 291

解锁NumPy:数据科学的基础工具

【代码】解锁NumPy:数据科学的基础工具。

ygyqinghuan的博客 398

数据科学与计算(第十三节课内容总结)

NumPy数组操作主要包含广播、迭代和数组变形三大功能。广播机制允许不同形状数组的运算,通过自动扩展维度实现计算。迭代操作支持行优先(C)或列优先(F)顺序遍历数组元素。数组变形包括形状修改(reshape/flatten/ravel)、转置(transpose/T)、轴操作(rollaxis/swapaxes)、连接(concatenate/stack)和分割(split)等操作,其中rollaxis函数通过改变轴顺序实现数组重组。这些操作为数组处理提供了灵活的数据变换能力,是科学计算的基础工具。

2302_77621804的博客 626

函数详解-Python Numpy学习(3)

矩阵的用法Python Numpy学习(2)可能是最全的NumPy基础知识(1)1,np.ceil(x, y)  限制元素范围,进一法,即向上取整。  x 表示输入的数据 y floa...

bigzql的博客 2170

[转载] python3 numpy函数_Python numpy总结(3)——常用函数用法

参考链接: Python中的numpy.empty_like 关于Python Numpy矩阵知识请参考博文:Python numpy学习(2)——矩阵的用法 1,np.ceil(x, y) 限制元素范围,进一法,即向上取整。 x 表示输入的数据 y float类型 表示每个元素的上限。 a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0]) np.ceil(a) # array([-1., -1., -0., 1., 2., 2...

u013946150的博客 313

Numpy中numpy.rollaxis函数的理解

Numpy中numpy.rollaxis函数的理解 在学习Numpy的过程中卡在了这个古怪的函数好一阵子不明其意,研究一番后终于有一些醒悟,把理解贴出来以后备用。 要想理解这个函数首先要理解在Numpy中是如何输出一个多维数组的。Numpy在这里把维数说成“轴”,从0轴到n轴递增。其实这就跟直角坐标系中的xyz轴是一个道理,只不过它只有3个轴罢了。 现在看看numpy.rollaxis函数的官方...

ren_jiong的博客 1696
上一篇: 行人再识别的发展历史
下一篇: keras中的keras.utils.to_categorical方法
PMPWDF
博客等级 码龄10年 44粉丝 118原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值