我在scipy.sparse.csr_matrix中发现了一种意外的行为,这对我来说似乎是一个错误。有人能确认这不是正常的吗?我不是稀疏结构专家,因此可能会误解正确的用法。
另一方面,numpy可以正确处理这个问题:
>>> import scipy.sparse
>>> a=scipy.sparse.csr_matrix((1,1))
>>> b=scipy.sparse.csr_matrix((1,1))
>>> b[0,0]=1
/home/marco/anaconda3/envs/py35/lib/python3.5/site-packages/scipy/sparse/compressed.py:730: SparseEfficiencyWarning: Changing the sparsity structure of a csr_matrix is expensive. lil_matrix is more efficient.
SparseEfficiencyWarning)
>>> a/b
matrix([[ nan]])
另一方面,numpy可以正确处理这个问题:
>>> import numpy as np
>>> a=np.zeros((1,1))
>>> b=np.ones((1,1))
>>> a/b
array([[ 0.]])
谢谢
(a/b).toarray()
吗? - Thiago Baldim(a/b).tolist()
返回[[nan]]
。a/b
的类型为矩阵,因此没有toarray
或todense
方法。 - marcotama