参考https://www.cnblogs.com/zibu1234/p/4210521.html
numpy.tile
(A, reps)
A的类型众多,几乎所有类型都可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。
reps的类型也很多,可以是tuple,list, dict, array, int, bool.但不可以是float, string, matrix类型。
通过给定的reps次数重复A来构造数组。
如果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,则通过预先挂起的1来将代表提升为A.ndim。 因此,对于形状A(2,3,4,5),(2,2)的reps被视为(1,1,2,2)。
尽管可以使用tile()进行广播,但强烈建议使用numpy的广播操作和功能。
>>> 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]])