numpy函数学习
stack
叠,本质目的是合并多个数组并增维。
new = np.stack([arrays1,array2,array3],axis=0)。第二个参数是axis
每次增一维,增加的那一维的数组原始数为3.
例如:
arrays1,arrays2,arrays3为3*4
当axis=0时。
new.shape为[3,3,4]
当axis=1时。
new.shape为[3,3,4]
当axis=2时。
new.shape为[3,4,3]
最后再根据shape来推断值是怎么排列的
广播
在运算时,如果纬度不符,自动运行广播机制:
如
a.shape = (N,4)
b.shape=(4) 或 (1,4)
逐行运算再组合成N行
a*b = (N,4)
a.shape = (N,4,4)
b.shape=(4) 或 (1,4)
逐行运算再组合成N行
a*b = (N,4,4)#对应原始相乘

a.shape = (N,4,4)
b.shape= (1,4)
np.matmul(a,b)= (N,4)#对应向量相乘

另外注意:
matmul在广播时,应注意纬度顺序:
36 mul 33是报错的
但33 mul 36 是没问题的:

https://zhuanlan.zhihu.com/p/402163854
np.tile
复制基本原始 ,可增维也可不增纬度

https://blog.youkuaiyun.com/qq_43657442/article/details/109060986
906

被折叠的 条评论
为什么被折叠?



