1
dtype('float32')
arr.nbytes

输出- 16 同样对于数据类型“float 64”,数据大小为 32。我很困惑为什么会发生这种情况?不应该是32和64吗?

4

1 回答 1

2

你的arr究竟是什么?

In [7]: np.array([], dtype='float32').nbytes                                                                                                                  
Out[7]: 0

In [8]: np.array([1], dtype='float32').nbytes                                                                                                                 
Out[8]: 4

In [9]: np.array([1, 2, 3, 4], dtype='float32').nbytes                                                                                                        
Out[9]: 16

对我来说似乎是一致的。4 * 8 == 32, 4 * (4 * 8) == 16。您可能会混淆数组大小和“类型大小”。此外,大小以字节为单位,而不是位。

于 2020-10-18T15:34:45.420 回答