numpy.tile
numpy.tile(A, reps) [source]
通过重复A代表次数来构造数组。
如果代表的长度为d,则结果的尺寸为max(d,A.ndim)
。
如果A.ndim < d
,则通过附加新的轴将A
提升为d
维。因此,对于2d复制,shape(3,)
数组提升为(1,3)
,对于3d复制,shape(1,1,3)
数组提升为(1,1,3)
。如果这不是需要的行为,在调用这个函数之前,手动将A
提升到d
维。
如果A.ndim > d
,则通过预先设置1将代表提升为A.ndim
。因此,对于形状(2,3,4,5)
的A,(2,2)的一个代表被视为(1,1,2,2)
。
注意:尽管tile
可以用于广播,强烈建议使用numpy的广播操作和功能。
参数 : | A :array_like 输入数组。 reps :array_like 沿每个轴的A重复次数。 |
返回值 : | c : 平铺的输出数组。 |
例子
1)一维数组重复
import numpy as np arr = np.array([1, 2, 3]) result = np.tile(arr, 3) # 沿第 1 轴(水平)重复 3 次 print(result)
2)二维数组重复
import numpy as np arr = np.array([[1, 2], [3, 4]]) # 行方向重复 2 次,列方向重复 3 次 result = np.tile(arr, (2, 3)) print(result)
3)与 numpy.repeat
的区别
numpy.tile
是整体重复,而 numpy.repeat
是元素级别的重复。
import numpy as np arr = np.array([[1, 2], [3, 4]]) # 使用 tile print(np.tile(arr, (2, 2))) # 使用 repeat # 在行方向重复每一行 2 次 print(np.repeat(arr, 2, axis=0))