python中np.array的shape(2,)与shape(1 ,2)的运算细节

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)

猜你喜欢

转载自blog.csdn.net/qq_35568823/article/details/126734188
今日推荐