对于某些输入,我得到一个" ValueError:无法转换整数标量",在以下代码中:
a, b = np.array(l), np.array( [i for i in xrange(M.shape[1]) if not i in set(l)] );
c = np.ravel( M[np.ix_(a,b)].sum(0) );
其中M
是稀疏矩阵,l
是一个长度为10766且M.shape==(249109,249109)
的列表。
我猜这个问题发生在.sum(0)
,因为这会返回一个密集矩阵,但len(a_)
和M.shape[1]
远不及2**31
。
还有其他解释吗?
File "/usr/local/lib/python2.7/dist-packages/scipy/sparse/csr.py", line 314, in __getitem__
num_samples, row.ravel(), col.ravel(), val)
ValueError: could not convert integer scalar