首页 > 解决方案 > 如何在numpy中解释数组的形状

问题描述

import numpy as np

a1 = np.array([1, 2, 3])
a1.shape # (3,)
a2 = np.array([[1, 2, 3]])
a2.shape # (1, 3)

b = np.array([[1, 2, 3], [2,3,4], [ 1,2,2]])
np.dot(a1,b) # array([ 8, 14, 17])
np.dot(a1,b) # array([[ 8, 14, 17]])

我一直认为 a1 是形状为 1 x 3 的“行向量”。但是形状是 (3,)。

取而代之的是,a2 的形状是 (1,3),它看起来更像是行向量。

(a1, a2) 都可以内积(np.dot()) 并产生相同的数字。(仅形状除外)

解释这两者有什么区别吗?

将 a1 解释为 是否合适row vector

标签: numpy

解决方案


推荐阅读