np.tile(A,n)
#如果n是整数,则将A横向重复n次。
#如果n是数组(w,v),则将A当成一个元素,组成一个w行v列的数组
在这里插入代码片
import numpy as np
a=[0,1,2]
b = np.tile(a,2)
b
#array([0,1,2,0,1,2])
c = np.tile(a,(1,2))
#a看做一个元素,形成1行2列的数组
#array([0,1,2,0,1,2])
#a看做一个元素,形成2行1列的数组
d=tile(a,(2,1))
#array([[0,1,2]
# [0,1,2]])
numpy广播机制
规则
1数组拥有相同形状,形状中不足的部分都通过在前面加 1 补齐。如(4,3) + (3),变成(4,3) + (1,3)
2当前维度的值相等或者当前维度的值有一个是 1。(4,3) + (1,3)可以计算,(4,3) + (4,3)可以计算,(4,3) + (2,3)不可以计算。(4,3) + (1,3)等价于(4,3)+np.tile((1,3),(4,1)
import numpy as np
a = np.array([[ 0, 0, 0],
[10,10,10],
[20,20,20],
[30,30,30]])
b = np.array([1,2,3])
a+b #等价于 a + np.tile(b,(4,1))
#array([[ 1 2 3]
# [11 12 13]
# [21 22 23]
# [31 32 33]])