Я ввожу высокие значения (больше 2 ^ 70) внутри массивов numpy, используя numpy.dtype = object:
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)
Подробности изложены в моем другом вопросе здесь. .В таких случаях использование dtype = object работает нормально.
Но я обнаружил, что использование dtype = numpy.object очень медленное.
Чтобы проверить, я сравнил время следующих операций:
Вы можете видеть, что dtype = int намного быстрее.
Так есть ли обходной путь для ввода высоких значений внутри числовых массивов?