在NumPy中,我可以通过以下方式获取特定数据类型的大小(以字节为单位):
datatype(...).itemsize
要么:
datatype(...).nbytes
例如:
np.float32(5).itemsize #4 np.float32(5).nbytes #4
我有两个问题。首先,有没有一种方法可以在 不创建 数据类型 实例的情况 下获取此信息?其次,itemsize和之间有什么区别nbytes?
itemsize
nbytes
您需要一个的实例dtype来获取itemsize,但不需要一个的实例ndarray。(很快就会nbytes知道,它是数组的属性,而不是dtype。)
dtype
ndarray
例如
print np.dtype(float).itemsize print np.dtype(np.float32).itemsize print np.dtype('|S10').itemsize
至于之间的区别itemsize和nbytes,nbytes只是x.itemsize * x.size。
x.itemsize * x.size
In [16]: print np.arange(100).itemsize 8 In [17]: print np.arange(100).nbytes 800