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]])