2015-01-07 7 views
5

Numpy'nin intc veri türü ile ilgili bir sorunla karşılaşıyorum. Makinemde bir Linux 64 bit çalıştırıyorum. Bir scipy.sparse.csr_matrix öğesini 32 bit sınırının ötesindeki dizinlerle başlatmam gerekiyor. Böyle bir csr matris örneği varNumpy'nin intc değeri 32'den 64 bit'e nasıl değiştirilir

: Mesela

matrix=csr_matrix((2, 4132009369),dtype=int8) 

Bu bana hiçbir problem gaves.

matrix[0, 2401803431]=1 

Ve ValueError: column index values must be >= 0 var: Sonra bir yere yapmam kodunda diyelim. Ben kod hata ayıklama ve ben scrds csr_matrix uygulamasında bir yere sütun değeri bir numpy intc veri türüne dönüştürülür keşfettim. değeri 2^31-1 olduğunu

>>> import numpy as np 
>>> info=np.iinfo(np.intc) 
>>> info.max 
2147483647 

o: o sağlamak için Aşağıdaki kod ile kontrol bir INTC sorundur. Peki, 32 bit intc'den 64 bit intc'ye gitmek için bir yol varsa herhangi bir öneriniz var mı? Bu sayfada http://docs.scipy.org/doc/numpy/user/basics.types.html o

intc Identical to C int (normally int32 or int64) 

zaman için çok teşekkür ederiz söylüyor! son sürüme scipy kütüphane yükselterek çözüldü

cevap

2

ben (daha önce ben şimdi 1.4, 1.3 vardı)

+1

Ben size 0,13 ila 0.14 yükseltilmiş demek düşünüyorum. –

İlgili konular