您的位置:首页 > 编程语言 > Python开发

【python入门】tile()函数用法

2018-01-08 12:25 459 查看
 1.tile函数:

tile函数是模板numpy.lib.shape_base中的函数。函数的形式是tile(A,reps)

A的类型几乎所有类型都可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。

reps的类型也很多,可以是tuple,list, dict, array, int,bool.但不可以是float, string, matrix类型。行列重复copy的次数。

例子

a=arange(1,3)
#a的结果是:
array([1,2])
1,当 tile(a,1) 时:
tile(a,1)
#结果是
array([1,2])

tile(a,2)
#结果是
array([1,2,1,2])

tile(a,3)
#结果是
array([1,2,1,2,1,2])

说明tile函数第二个参数是用来控制a重复次数的

2,当tile(a,(1,1))时
结果是
array([[1, 2]])
tile(a,(1,1)).shape
结果是(1,2),说明是一个1X2的矩阵。

tile(a,(1,2))
结果是
array([[1, 2, 1, 2]])
>>> tile(a,(1,2)).shape
(1, 4)
结果是一个1X4的矩阵,说明tile里参数列表中元组的第二个参数是控制a重复次数的
>>> tile(a,(2,1))
array([[1, 2],
[1, 2]])
>>> tile(a,(2,1)).shape
(2, 2)
######说明参数列表的元组第一个是控制行数的

>>> tile(a,(1,1,1))
array([[[1, 2]]])
>>> tile(a,(1,1,1)).shape
(1, 1, 2)
一个三维矩阵

>>> tile(a,(1,1,2))
array([[[1, 2, 1, 2]]])
>>> tile(a,(1,1,2)).shape
(1, 1, 4)

说明最后一个参数是控制a重复几次的
>>> tile(a,(10,1,2))
array([[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]],

[[1, 2, 1, 2]]])
>>> tile(a,(10,1,2)).shape
(10, 1, 4)

说明第一个10是控制行数的,所以第二个是控制列数的
>>> tile(a,(10,2,2)).shape
(10, 2, 4)
>>> tile(a,(10,2,2))
array([[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]],

[[1, 2, 1, 2],
[1, 2, 1, 2]]])



总结:

tile(a,x):   x是控制a重复几次的,结果是一个一维数组

tile(a,(x,y)):   结果是一个二维矩阵,其中行数为x,列数是一维数组a的长度和y的乘积

tile(a,(x,y,z)):   结果是一个三维矩阵,其中矩阵的行数为x,矩阵的列数为y,而z表示矩阵每个单元格里a重复的次数。(三维矩阵可以看成一个二维矩阵的个数,(10,2,4)看成是10个二行4列的二维向量)
from:http://blog.csdn.net/baiyu9821179/article/details/53364731
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: