Mark.Miller wrote:
Can someone explain this? I can't seem to coerce numpy into storing large integer values. I'm sure that I'm just overlooking something simple...
import numpy a='1'*300 type(a) <type 'str'> b=int(a) type(b) <type 'long'> c=numpy.empty((2,2),long) c[:]=b Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> c[:]=b OverflowError: long too big to convert
Use object arrays explicitly: c = numpy.empty((2, 2), dtype=object) Using dtype=long gets interpreted as requesting the largest available integer type (or maybe just int64, I'm not sure). Those aren't unbounded. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco