【发布时间】:2014-09-08 21:06:52
【问题描述】:
我在尝试 vstack 两个大型 CSR 矩阵时遇到了以下问题:
/usr/lib/python2.7/dist-packages/scipy/sparse/coo.pyc in _check(self)
229 raise ValueError('negative row index found')
230 if self.col.min() < 0:
--> 231 raise ValueError('negative column index found')
232
233 def transpose(self, copy=False):
ValueError: negative column index found
我可以通过尝试将大型 lil 矩阵转换为 coo 矩阵来非常简单地重现此错误。以下代码适用于 N=10**9,但适用于 N=10**10。
from scipy import sparse
from numpy import random
N=10**10
x = sparse.lil_matrix( (1,N) )
for _ in xrange(1000):
x[0,random.randint(0,N-1)]=random.randint(1,100)
y = sparse.coo_matrix(x)
我对 coo 矩阵有大小限制吗?有没有解决的办法?
【问题讨论】: