博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

numpy中tile的用法

Posted on 2019-02-19 11:26  心默默言  阅读(263)  评论(0编辑  收藏  举报
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重复的次数。(三维矩阵可以看成一个二维矩阵,每个矩阵的单元格里存者一个一维矩阵a)