size : int
Number of elements in the array.
itemsize : int
The memory use of each array element in bytes.
nbytes : int
The total number of bytes required to store the array data,
i.e., ``itemsize * size``.
在NumPy中:
>>> x = np.zeros((3, 5, 2), dtype=np.float64)
>>> x.itemsize
8
| nbytes
| Total bytes consumed by the elements of the array.
|
| Notes
| -----
| Does not include memory consumed by non-element attributes of the
| array object.
3条答案
按热度按时间xmq68pz91#
你需要一个
dtype
的示例来获取itemsize,但你不应该需要ndarray
的示例。(很快就会明白,nbytes
是数组的属性,而不是dtype。例如
至于
itemsize
和nbytes
之间的差异,nbytes
只是x.itemsize * x.size
。例如
cs7cruho2#
查看NumPy C源文件,这是注解:
在NumPy中:
所以
.nbytes
是一个快捷方式:因此,要获取NumPy数组的基本大小而不创建它的示例,您可以这样做(例如,假设一个3x5x2的double数组):
然而,NumPy帮助文件中的重要说明:
j13ufse23#
int使用
np.iinfo
,float使用np.finfo
。然后,使用.bits
属性,除以8得到字节数。根据问题,不需要创建数据类型的示例。举例来说: