此代码创建一个 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]: ()
Run Code Online (Sandbox Code Playgroud)
如果调用np.array()不可迭代的任意对象,numpy 会默默地创建一个没有维度的空数组。然而,它的大小是1。
numpy size 的文档告诉我们 x.size 相当于调用np.prod(x.shape). 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])。
| 归档时间: |
|
| 查看次数: |
5896 次 |
| 最近记录: |