Numpy中的形状(4,)和(4,1)之间有什么区别?

Han*_*Sun 4 python numpy scipy

我有两个ndarray AB,一个具有形状(4,)和另一个(4,1).

当我想用这个来计算余弦距离时,会抛出一些抱怨这两个对象的异常are not aligned

有没有人有这个想法?谢谢!

mgi*_*son 8

一个是一维数组,另一个是二维数组.

例:

>>> 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,)
Run Code Online (Sandbox Code Playgroud)

  • @JonClements - `your_array.T`给出`array([[1,2,3,4]])`.不是'数组([1,2,3,4])` (2认同)