numpy.tile(A,reps)
作用:根据复制A数组reps次,来创建矩阵。
参数:
- A: array_like 输入的数组
- reps: array_like 根据reps数组值,如果是一个值就是重复A的列,如果是两个值,那么是(行,列)第一个值是将A中的行都重复相应值,第二个是将A中列的值重复。如果是三个值就是(最外维,其次行,列)
如果A的维数小于reps中指定的维数,如A.shape为(3,),reps= (2,2)。就相当于A.shape为(1,3)来重复
如果A的维数大于reps中的维数,如A.shpae为(2,3,4,5),reps = (2,2)就相当于reps(1,1,2,2)来重复相应的A的值
返回值:
返回复制后的矩阵
例子:运行环境Jupyter
1.A.shape = reps的维数
a = np.arange(9).reshape(3,3)
print(a)
print(np.tile(a,(2,3)))
#输出
'''
[[0 1 2]
[3 4 5]
[6 7 8]]
#行重复了2次,列重复了3次
[[0 1 2 0 1 2 0 1 2]
[3 4 5 3 4 5 3 4 5]
[6 7 8 6 7 8 6 7 8]
[0 1 2 0 1 2 0 1 2]
[3 4 5 3 4 5 3 4 5]
[6 7 8 6 7 8 6 7 8]]
'''
2.A.shape < reps的维数
a = np.arange(9)
print(a)
print(np.tile(a,(2,3)))
#输出
'''
[0 1 2 3 4 5 6 7 8]
[[0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8]
[0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8]]
'''
3.A.shape > reps的维数
a = np.arange(18).reshape(2,3,3)
print(a)
print(np.tile(a,3))
#输出
'''
[
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]
[[ 9 10 11]
[12 13 14]
[15 16 17]]
]
#相当于reps = (1,1,3)最外维和行重复了1次,列重复了3次
[[[ 0 1 2 0 1 2 0 1 2]
[ 3 4 5 3 4 5 3 4 5]
[ 6 7 8 6 7 8 6 7 8]]
[[ 9 10 11 9 10 11 9 10 11]
[12 13 14 12 13 14 12 13 14]
[15 16 17 15 16 17 15 16 17]]]
'''