在NumPy中,我可以通过以下方式获取特定数据类型的大小(以字节为单位):
我有两个问题。首先,有没有一种方法可以在不创建数据类型实例的情况下获取这些信息?其次,
datatype(...).itemsize
或者:
datatype(...).nbytes
例如:
np.float32(5).itemsize # 4
np.float32(5).nbytes # 4
我有两个问题。首先,有没有一种方法可以在不创建数据类型实例的情况下获取这些信息?其次,
itemsize
和nbytes
之间有什么区别?
dtype=...
,从而获取每个数据元素的大小,以便我可以知道数据的大小。这样,我就可以直接查找文件中的任何记录并读取它。看起来np.dtype
是正确的选择...谢谢。 - mgilsonnbytes
作为数据类型的一个实例似乎有些令人困惑,因为它只在数组中特别有用... 当然,我想我对 numpy 数据模型的了解还不够深入,不能对此发表太多评论... 不管怎样,谢谢。这正是我需要的。 - mgilsonnp.float32(5)
)可能会令人困惑。numpy标量和0维numpy数组(例如np.array(5, dtype=np.float32)
)之间的区别更加令人困惑。(尝试对0维数组进行索引!)numpy标量存在并具有与普通ndarray相同的属性,这样像x[5].abs()
这样的操作对于1d数组就能正确地工作。从“更广泛的角度”来看,这是有道理的,但它也会导致很多混淆。 - Joe Kington