
1 May
2007
1 May
'07
2:43 p.m.
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