numpy.tile#

numpy.tile(A, reps)[原始碼]#

透過重複 A 給定的次數 (由 reps 指定) 來建構陣列。

如果 reps 的長度為 d,則結果的維度將為 max(d, A.ndim)

如果 A.ndim < d,則 A 會被提升為 d 維陣列,方法是預先加入新的軸。因此,形狀為 (3,) 的陣列會被提升為 (1, 3) 以進行 2 維複製,或形狀 (1, 1, 3) 以進行 3 維複製。如果這不是所需的行為,請在呼叫此函數之前手動將 A 提升為 d 維。

如果 A.ndim > d,則 reps 會被提升為 A.ndim,方法是在其前面加入 1。因此,對於形狀為 (2, 3, 4, 5) 的 A,(2, 2) 的 reps 會被視為 (1, 1, 2, 2)。

注意:雖然 tile 可以用於廣播,但強烈建議使用 numpy 的廣播運算和函數。

參數:
Aarray_like

輸入陣列。

repsarray_like

沿每個軸重複 A 的次數。

傳回值:
cndarray

平鋪的輸出陣列。

另請參閱

repeat

重複陣列的元素。

broadcast_to

將陣列廣播到新形狀

範例

>>> import numpy as np
>>> a = np.array([0, 1, 2])
>>> np.tile(a, 2)
array([0, 1, 2, 0, 1, 2])
>>> np.tile(a, (2, 2))
array([[0, 1, 2, 0, 1, 2],
       [0, 1, 2, 0, 1, 2]])
>>> np.tile(a, (2, 1, 2))
array([[[0, 1, 2, 0, 1, 2]],
       [[0, 1, 2, 0, 1, 2]]])
>>> b = np.array([[1, 2], [3, 4]])
>>> np.tile(b, 2)
array([[1, 2, 1, 2],
       [3, 4, 3, 4]])
>>> np.tile(b, (2, 1))
array([[1, 2],
       [3, 4],
       [1, 2],
       [3, 4]])
>>> c = np.array([1,2,3,4])
>>> np.tile(c,(4,1))
array([[1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4]])