Numpy中 tile函式的用法
阿新 • • 發佈:2019-01-30
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)