此代码创建一个包含10个元素的数组。
In [14]: s = np.array(10)
In [15]: s
Out[15]: array(10)
In [16]: s.size
Out[16]: 1
In [17]: s.shape
Out[17]: ()
答案 0 :(得分:2)
如果任意物体上的一个呼叫np.array()
,是不是可迭代,numpy的静默创建一个没有尺寸空数组。
但是,其大小为1。
Docs of numpy size告诉我们x.size等效于调用np.prod(x.shape)
。和docs for np.prod状态的空序列调用np.prod给我们1.也许这是由于这样的事实,1是乘法中性元素,这意味着以下。
假设您有一个数组[4, 2, 3]
。其元素乘积为24
。现在,将其分为两个数组:[4]
和[2, 3]
。您有一个不错的属性:np.prod([4, 2, 3]) == np.prod([4]) * np.prod([2, 3])
。但是,如果其中一个数组为空,则希望此属性仍然成立:np.prod([4, 2, 3]) == np.prod([]) * np.prod([4, 2, 3])
。