对于以下内容:
d = np.array([[0,1,4,3,2],[10,18,4,7,5]])
print(d.shape)
输出为:
(2,5)
这是预期的。
但是,为此(单个行中元素数量的差异):
d = np.array([[0,1,4,3,2],[10,18,4,7]])
print(d.shape)
输出为:
(2,)
如何解释这种行为?
答案 0 :(得分:1)
简短答案:它将其解析为两个对象:两个列表的数组。
Numpy用于处理“矩形”数据。如果您将其传递为非矩形数据,则np.array(..)
函数会考虑将其作为 objects 列表。
实际上,请在此处查看数组的dtype
:
>>> d
array([list([0, 1, 4, 3, 2]), list([10, 18, 4, 7])], dtype=object)
它是一维array
,其中包含两个项目两个列表。这些列表只是对象。