我有两个ndarray
A
和B
,一个具有形状(4,)
,另一个具有(4,1)
。
当我想使用 this 计算余弦距离时,它会抛出一些异常,抱怨两个对象
are not aligned
有人对此有什么想法吗?谢谢!
一个是一维数组,另一个是二维数组。
示例:
>>> import numpy as np
>>> a = np.arange(4).reshape(4,1)
>>> a
array([[0],
[1],
[2],
[3]])
>>> a.ravel()
array([0, 1, 2, 3])
>>> a.squeeze()
array([0, 1, 2, 3])
>>> a[:,0]
array([0, 1, 2, 3])
>>>
>>> a[:,0].shape
(4,)
ndarray
等于 shape
的 (4,)
是一维 NumPy 数组。>>> import numpy as np
>>> array_1 = np.random.randint(0,10,4)
>>> array_1
array([9, 3, 0, 4])
>>> array_1.shape # shape of array_1
(4,)
>>> array_1.ndim # number of dimensions in array_1
1
ndarray
的 shape
等于 (4,1)
是具有 4 行 1 列的 2 维 NumPy 数组。它也称为列向量。>>> array_2 = np.random.randint(0, 10, (4,1))
>>> array_2
array([[7],
[0],
[5],
[8]])
>>> array_2.shape # shape of array_2
(4, 1)
>>> array_2.ndim # number of dimensions in array_2
2
ndarray
的 shape
等于 (1,4)
是具有 1 行和 4 列的二维 NumPy 数组。它也称为行向量。>>> array_3 = np.random.randint(0, 10, (1,4))
>>> array_3
array([[0, 5, 2, 6]])
>>> array_3.shape # shape of array_3
(1, 4)
>>> array3.ndim # number of dimensions in array_3
2
作为一般规则,数组开头的
[
(左方括号)的数量或数组末尾的 ]
(右方括号)的数量表示数组的维数。 [1, 2, 3]
是一维数组,[[1,2,3], [4,5,6]]
是二维数组,依此类推。