猿问

numpy.dtype=object 与 numpy.dtype=int 相比非常慢

我使用 numpy.dtype=object 在 numpy 数组中输入高值(大于 2^70):


numpy.array([1], dtype=numpy.object) << 70

array([1180591620717411303424], dtype=object)

我在这里使用 dtype=numpy.object 的唯一原因是当您尝试在其中输入高值时超过了 numpy.int 的限制。


numpy.array([1]) << 70

>>> array([64], dtype=int32) #the result should have been array([1180591620717411303424], dtype=object)

详细信息在我的另一个问题here中进行了解释。. 在这种情况下,使用 dtype=object 工作正常。


但是我发现使用 dtype=numpy.object 很慢。


为了验证,我比较了以下操作的时间: 

您可以看到 dtype=int 快得多。

那么是否有任何解决方法可以在 numpy 数组中输入高值?


互换的青春
浏览 278回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答