2
スパース行列から対角要素を削除します。行列が疎なので、これらの要素は一度削除すると保存しないでください。 setdiagscipyのスパース行列から対角要素を削除する
私はそれがlil_matrixを使用してみた場合、それが動作:
は>>> a = np.ones((2,2))
>>> c = lil_matrix(a)
>>> c.setdiag(0)
>>> c
<2x2 sparse matrix of type '<type 'numpy.float64'>'
with 2 stored elements in LInked List format>
しかしcsr_matrixと、対角要素がストレージから削除されていないようです
scipyのダウンロードは、対角要素の値を設定する方法を提供します。高密度アレイを通じ
>>> b = csr_matrix(a)
>>> b
<2x2 sparse matrix of type '<type 'numpy.float64'>'
with 4 stored elements in Compressed Sparse Row format>
>>> b.setdiag(0)
>>> b
<2x2 sparse matrix of type '<type 'numpy.float64'>'
with 4 stored elements in Compressed Sparse Row format>
>>> b.toarray()
array([[ 0., 1.],
[ 1., 0.]])
、我々はもちろんあります
>>> csr_matrix(b.toarray())
<2x2 sparse matrix of type '<type 'numpy.float64'>'
with 2 stored elements in Compressed Sparse Row format>
これは意図したものですか?もしそうなら、それは圧縮された形式のcsr行列によるのでしょうか?スパースからデンスからスパースに移行する以外の方法がありますか?
正確に私が逃したもの。ありがとう! – kevad