np.tile(A,reps)
Tile: 铺瓷砖;此函数根据给定的reps次数复制A,生成新的数组,整个过程像铺瓷砖
Interpretation: Constuct array by repeating A the number of times given by reps.
例:构造一个棋盘形式的数组,第一行为0、1、0、1····, 第二行为1、0、1、0···,以此类推。
法一:
z = np.zeros((8,8))
#将第2、4、6、8行和第1、3、5、7列交叉的地方改成1
z[1::2, ::2] = 1
#将第1、3、5、7行和第2、4、6、8列交叉的地方改成1
z[::2, 1::2] = 1
print(z)
array([[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.],
[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.],
[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.],
[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.]])
法二-利用np.tile函数,以[[0,1],[0,1]]为单位向右复制三次并向下复制三次
unit = np.array([[0,1],[1,0])
#A = unit, reps = (4,4),指横向变为4个、纵向也变为4个
z = np.tile(unit, (4,4))
print(z)
array([[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.],
[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.],
[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.],
[0., 1., 0., 1., 0., 1., 0., 1.],
[1., 0., 1., 0., 1., 0., 1., 0.]])