numpy.tile#
- numpy.tile(A, reps)[source]#
通过将 A 重复 reps 指定的次数来构造一个数组。
如果 reps 的长度为
d
,则结果的维度为max(d, A.ndim)
。如果
A.ndim < d
,则通过在 A 前添加新轴将其提升为 d 维。因此,形状为 (3,) 的数组在 2D 复制时会提升为 (1, 3),在 3D 复制时会提升为 (1, 1, 3)。如果这不是所需行为,请在此函数调用之前手动将 A 提升到 d 维。如果
A.ndim > d
,则通过在 reps 前添加 1 来将其提升为 A.ndim。因此,对于形状为 (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]])