1. 程式人生 > >Numpy中 tile函式的用法

Numpy中 tile函式的用法

titl函式:

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)