n
p
.
t
i
l
e
(
A
,
r
e
p
s
)
{np.tile(A,reps)}
np.tile(A,reps)函数可对输入的数组,元组或列表进行重复构造,其输出是数组
该函数有两个参数:
A
{A}
A:输入的数组,元组或列表
r
e
p
s
{reps}
reps:重复构造的形状,可为数组,元组或列表
为了方便,这里测试采用数组输入
r
e
p
s
{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]]
------------------------
r e p s {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]]
------------------------
r e p s {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]]
------------------------
总结: r e p s : ( m , n ) {reps:(m,n)} reps:(m,n), 其中 m {m} m控制纵向重复, n {n} n控制横向重复