在NumPy中,我可以通过以下方式获取特定数据类型的大小(以字节为单位):

datatype(...).itemsize

或者:
datatype(...).nbytes

例如:
np.float32(5).itemsize #4
np.float32(5).nbytes   #4

我有两个问题。首先,有没有一种方法可以在不创建数据类型实例的情况下获取此信息?第二,itemsizenbytes有什么区别?

最佳答案

您需要dtype的实例来获取项目的大小,但是您不需要ndarray的实例。 (很快就会知道,nbytes是数组的属性,而不是dtype。)

例如。

print np.dtype(float).itemsize
print np.dtype(np.float32).itemsize
print np.dtype('|S10').itemsize

itemsizenbytes之间的区别而言,nbytes只是x.itemsize * x.size

例如。
In [16]: print np.arange(100).itemsize
8

In [17]: print np.arange(100).nbytes
800

关于python - 使用NumPy的数据类型的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16972501/

10-11 18:14