np.tile(A,reps){np.tile(A,reps)}np.tile(A,reps)函数可对输入的数组,元组或列表进行重复构造,其输出是数组
该函数有两个参数:
A{A}A:输入的数组,元组或列表
reps{reps}reps:重复构造的形状,可为数组,元组或列表
为了方便,这里测试采用数组输入
reps{reps}reps可为一个值
import numpy as np
x = np.array([[1,2],[3,4]])
y = np.tile(x, 2)
print('------------------------')
print('x的形状:', x.shape)
print('x的值:\n', x)
print('y的形状:', y.shape)
print('y的值:\n', y)
print('------------------------')
输出:此时,A数组横向重复
------------------------
x的形状: (2, 2)
x的值:
[[1 2]
[3 4]]
y的形状: (2, 4)
y的值:
[[1 2 1 2]
[3 4 3 4]]
------------------------
reps{reps}reps可为一个可为数组,元组或列表
y = np.tile(x, (2,1))
print('------------------------')
print('x的形状:', x.shape)
print('x的值:\n', x)
print('y的形状:', y.shape)
print('y的值:\n', y)
print('------------------------')
输出:此时,A数组纵向重复
------------------------
x的形状: (2, 2)
x的值:
[[1 2]
[3 4]]
y的形状: (4, 2)
y的值:
[[1 2]
[3 4]
[1 2]
[3 4]]
------------------------
reps{reps}reps可同时控制横向和纵向重复
y = np.tile(x, (2,3))
print('------------------------')
print('x的形状:', x.shape)
print('x的值:\n', x)
print('y的形状:', y.shape)
print('y的值:\n', y)
print('------------------------')
输出:A数组横向重复到原来的3倍,纵向重复到原来的2倍
------------------------
x的形状: (2, 2)
x的值:
[[1 2]
[3 4]]
y的形状: (4, 6)
y的值:
[[1 2 1 2 1 2]
[3 4 3 4 3 4]
[1 2 1 2 1 2]
[3 4 3 4 3 4]]
------------------------
总结:reps:(m,n){reps:(m,n)}reps:(m,n), 其中m{m}m控制纵向重复,n{n}n控制横向重复