numpy数组中冒号[:,:,0]与[...,0]的区别

简介: x[:,:,0] 意思是对数组x切片,可以想象成一个正方体数据,每次切下一个面的数据。第二维取0则得出来[3,4]大小的数组

先随机产生一个[3,4,5]的numpy数组。则该x维度是3,shape是(3,4,5),总共包含60个元素。


c484914f50ff408eb2ab984f110925df.png


x[:,:,0] 意思是对数组x切片,可以想象成一个正方体数据,每次切下一个面的数据。第二维取0则得出来[3,4]大小的数组,即


535bd0a6c2384eb2ac2cac7c4659e248.png


可以验证:


c0589afa57ad4a8089fe9a2a43be3408.png


那么[...,0]代表了什么?


首先...只能出现一次,就是说你可以,[ : , : , : ],但是[ ... , ...]就会报错。


使用了 ... 之后,数字0不再是元素的index 了 , 而是 轴(axis)。下面通过numpy.amax()(选出轴最大的元素)来具体说明。


7beebae0011e43119580552fa728543d.png


x大小为(3,4,5)


首先看axis=2,第一个数字189是从x[ ][ ] [0] 到 x[ ][ ] [4] 比较而得,因此一共有3*4=12元素


axis=1,第一个数字99是从x[ ][0] [ ] 到 x[ ][3] [ ] 比较而得,因此一共有3*5=15元素


同理,axis=0,第二个数字189是从x[0] [ ] [ ] 到 x[2] [ ] [ ] 比较而得,因此一共有4*5=20元素


axis=0时 比较的示意图:


80970854fac44586bc45e0b58171a8b8.png


最直观的:函数所选的axis的值,就表明 x[ ][ ][ ] 的第几个方块号,从0开始,代表第一个[ ],即x[ ] [ ] [ ],所以维度与axis的对应关系为,对于维度为(3,4,5)的数组,axis=0 长度为3,axis=1长度为4,axis=2长度为5。


则[...,0]表示,与[:,:,0]等价:


4d14adc4dd15432784ba830f840d84ee.png


577bd1f313d647978c7280f6700b103a.png


同时,还可以这样用。


20190413183115365.png

目录
相关文章
|
1月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
281 1
|
11月前
|
计算机视觉 Python
PIL图像转换为Numpy数组:技术与案例详解
本文介绍了如何将PIL图像转换为Numpy数组,以便利用Numpy进行数学运算和向量化操作。首先简要介绍了PIL和Numpy的基本功能,然后详细说明了转换过程,包括导入库、打开图像文件、使用`np.array()`或`np.asarray()`函数进行转换,并通过打印数组形状验证转换结果。最后,通过裁剪、旋转和缩放等案例展示了转换后的应用,以及如何将Numpy数组转换回PIL图像。此外,还介绍了处理base64编码图像的完整流程。
415 4
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
382 10
|
Python
Numpy学习笔记(四):如何将数组升维、降维和去重
本文介绍了如何使用NumPy库对数组进行升维、降维和去重操作。
236 1
|
Python
使用 NumPy 进行数组操作的示例
使用 NumPy 进行数组操作的示例
211 2
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
647 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
424 4
|
机器学习/深度学习 并行计算 调度
CuPy:将 NumPy 数组调度到 GPU 上运行
CuPy:将 NumPy 数组调度到 GPU 上运行
510 1
|
API Python
Numpy 数组的一些集合操作
Numpy 数组的一些集合操作
173 0
|
编译器 Linux API
基于类型化 memoryview 让 Numpy 数组和 C 数组共享内存
基于类型化 memoryview 让 Numpy 数组和 C 数组共享内存
198 0

热门文章

最新文章