numpy.tile#

numpy.tile(A, reps)[源代码]#

通过重复 A 由 reps 给定的次数来构造一个数组.

如果 reps 的长度为 d,结果的维度将是 max(d, A.ndim).

如果 A.ndim < d,`A` 会被提升为 d 维,通过在前面添加新的轴.因此,一个形状为 (3,) 的数组会被提升为 (1, 3) 用于 2-D 复制,或者形状为 (1, 1, 3) 用于 3-D 复制.如果这不是期望的行为,请在调用此函数之前手动将 A 提升为 d 维.

如果 A.ndim > d,`reps` 会被提升到 A.ndim 通过在其前面添加 1 来实现.因此对于形状为 (2, 3, 4, 5) 的 A,一个 reps 为 (2, 2) 的值会被视为 (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]])