numpy中的标量或者向量涉及到矩阵计算时,会遇到以下的坑:
a = np.arange(6)
print("a = np.arange(6) out:\n", a) # [ 0 1 2 3 4 5]
print("a.shape is", a.shape) # (6,)
print("a.dim is", a.ndim) # 1
aT = a.T
print("aT = a.T out:\n", aT) # [ 0 1 2 3 4 5]
print("aT.shape is", aT.shape) # (6,)
print("aT.dim is", aT.ndim) # 1
即转置后向量没有变化,对于涉及到该向量的矩阵计算会导致错误。应用以下的代码:
b = np.arange(6).reshape(1, 6)
print("b = np.arange(6).reshape(1, 6) out:\n", b) # [[0 1 2 3 4 5]]
print("b.shape is", b.shape) # (1, 6)
print("b.dim is", b.ndim) # 2
bT = b.T
print("bT = b.T out:\n", bT)
# [[0]
# [1]
# [2]
# [3]
# [4]
# [5]]
print("bT.shape is", bT.shape) # (6, 1)
print("bT.dim is", bT.ndim) # 2
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。