Numpy中的tile方法
来源:互联网 发布:加工贸易方式数据 编辑:程序博客网 时间:2024/05/16 05:56
在讲tile方法之前,先要讲一下Numpy数组中的几个概念。
在NumPy中,数组这一类又被称为ndarray。
1、ndarray.ndim
指数组的维度,即数组轴(axes)的个数,其数量等于秩(rank)。通俗地讲,我们平时印象中的数组就是一维数组,维度为1、轴的个数为1、秩也等于1;最常见的矩阵就是二维数组,维度为2、轴的个数为2(可以理解为由x轴、y轴组成)、秩等于2;我们所知的空间就相当于三维数组,维度为3、轴的个数为3(x、y、z轴)、秩等于3;以此类推。
2、ndarray.shape
按教程的话翻译过来是数组的维度,这样就很容易和ndim的概念混淆。所以可以这样理解,shape的返回值是一个元组,元组的长度就是数组的维数,即ndim。而元组中每个整数分别代表数组在其相应维度(/轴)上的大小。以最常见的矩阵为例,print shape后返回(2,3),说明这是一个2行3列的矩阵。
下面说一下tile函数,其原型如下。
原型:numpy.tile(A,reps)
tile共有2个参数,A指待输入数组,reps则决定A重复的次数。整个函数用于重复数组A来构建新的数组。
假设reps的维度为d,那么新数组的维度为max(d,A.ndim)。下面分三种情况进行讨论:
(1)A.dim < d
则向A中添加新轴扩充A的维度。维度大小可以从shape中看出,一般通过向shape对应的元组中添加1完成对A维度的扩充。扩充完成后,则可根据reps的值对A中相应维度的值进行重复。
例如,一维数组shape为(3,),扩充至2维则shape值为(1,3),扩充至3维则shape值为(1,1,3)
(2)A.dim > d
将reps扩充至与A相同的维度。扩充方法同上,也是向shape对应元组中添1,然后再进行重复。
例如,4维数组A的shape为(2,3,4,5),而reps为(2,2)只有2维,那么就要对reps添维进行扩充,得到(1,1,2,2)
(3)A.dim = d
不需要扩充,直接按reps的值对相应维度的值进行重复。
>>>from numpy import *>>> a = array([1,2,3])>>>print a.shape(3.)>>>print a.ndim1>>>b = tile(a,2)>>>print b[1 2 3 1 2 3]>>>print b.shape(6,)>>>print b.ndim1>>>c = tile(a,(2,3))>>>print c[[1 2 3 1 2 3 1 2 3] [1 2 3 1 2 3 1 2 3]]>>>print c.shape(2,9)>>>print c.ndim2由此可以看出,得到的新数组的维度由d和A.ndim的大小决定,shape值由扩充后的A和reps相应维度值的乘积得到。
- Numpy中的tile方法
- 【Python】Numpy中的tile方法介绍
- numpy中的tile函数
- numpy中的tile函数
- numpy中的tile函数
- numpy中的tile函数
- numpy中的tile函数
- numpy中的tile函数
- numpy中的tile函数
- 【python系列】numpy中的tile函数
- 【python系列】numpy中的tile函数
- 【python系列】numpy中的tile函数
- numpy.tile()
- numpy.tile
- Numpy 中tile(A, reps)方法
- Numpy 中tile(A, reps)方法 Python-Numpy函数-tile函数
- NSScrollView中的tile方法重载?
- [笔记]numpy中的tile与kron的用法
- java相关的下载链接,自己收藏的
- 使用栈来演示括号匹配的算法
- 【安卓学习之工具学习】软件版本管理工具-TortoiseSVN
- 全栈必备 缓存cache
- HTTP协议
- Numpy中的tile方法
- matlab实现图像旋转
- Redhat中配置本地RPM源
- Python.pypcap/pcapy & dpkt -- Python抓包&解包(Python2.x)
- 【LoadRunner】回放脚本Replay Log不报错但结果不成功"msg" : "Content type 'application/octet-stream' not supported"
- js数组去重的三种方法
- MySQL安装tips
- Event对象的五种坐标
- IDEA