我使用 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 数组中输入高值?
相关分类