np.array的shape(2,)与shape(1 ,2)的运算细节
从以下例子可以看出在运算过程中,array会自动进行维度(从一维到二维)扩展
import numpy as np
x = np.array([1, 2]) #一维数组,数组中有2个元素
y = np.array([[1],[2]]) #二维数组,2行,每行有1个元素
z = np.array([[1,2]]) #二维数组,只有1行,每行有2个元素
w1=x+y
w2=x+z
print(x.shape)
print(y.shape)
print(z.shape)
print("="*8)
print(w1)
print(w1.shape)
print("="*8)
print(w2)
print(w2.shape)
(2,)
(2, 1)
(1, 2)
========
#可以看到尺寸变化(2,)-> (2,2) + (2, 1)-> (2,2)
[[2 3]
[3 4]]
(2, 2)
========
#可以看到尺寸变化(2,)-> (1,2) + (1, 2)-> (1,2)
[[2 4]]
(1, 2)
import numpy as np
print("*"*8)
aa = np.array([1,2,3,4,5])
bb = np.array([[1,2,3,4,5]])
cc=aa+bb
print("="*8)
print(aa.shape)
print(bb.shape)
print("="*8)
print(cc)
print(cc.shape)
********
========
(5,)
(1, 5)
========
[[ 2 4 6 8 10]]
(1, 5)