我一直在研究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 个输出。
我无法理解
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