Numpy 中“size”和“itemsize”的区别

问题描述 投票:0回答:1

我一直在研究Python中的numpy库。

我使用了代码

import numpy as np
arr=np.array([(11,12,13),(17,18,19)])
arr.size

它的输出是6

确实如此,但是

当我跑步时

import numpy as np
arr=np.array([(11,12,13),(17,18,19)])
arr.itemsize

这段代码给了我 8 个输出。

我无法理解

python arrays numpy multidimensional-array
1个回答
0
投票

itemsize
与项目/维度的数量无关,这是用于存储单个项目的字节数。

这里有

int64
作为 dtype:

arr=np.array([(11,12,13),(17,18,19)])

arr.dtype
# dtype('int64')

因此每个值使用的字节数为 8。

另一个示例,如果您使用

int8
作为数据类型(允许从 -127 到 128 的整数并使用单个字节):

arr = np.array([(11,12,13),(17,18,19)], dtype='int8')

arr.dtype
# dtype('int8')

arr.itemsize
# 1

您可以使用两个值的乘积来计算内存中数据的大小(元数据除外,如形状等):

arr.itemsize * arr.size
© www.soinside.com 2019 - 2024. All rights reserved.