2013-10-30 6 views
5

BOWフィーチャ表現に疎行列を使用したいと思います。私はscipyからcoo_matrixを試しましたが、私がしたいことをサポートしていないようです:Pythonのスパース行列での単一エントリへのアクセス

私はすべての0の行列を初期化し、適切な場合には1に変更したいと思います。しかし、マトリックスをインデックス化しようとすると、たとえばmyMatrix [0] [0] = 1(またはmyMatrix [0] [0] [0] = 1)さえすれば、すべての値が変更されます1つのエントリを1つだけ作成したい。

これはnumpy行列で簡単に行うことができますが、スペース効率のために疎行列を使用したいと思います。

+0

問題を解決するはずの 'myMatrix [0、0] = 1'を試してください。 – Jaime

+0

はい、これは、ありがとう、働いています。しかし、マトリックスを初期化するときは.todense()を持たなければなりません。 – airpierre

答えて

4

右を使用すると、sparseタイプが役に立ちます。

from scipy import sparse 
M = sparse.lil_matrix((10,10)) 
M[1,1] = 1 
M[5,5] = 1 
# <10x10 sparse matrix of type '<type 'numpy.float64'>' 
# with 2 stored elements in LInked List format> 

dokも有効です。 csrは、lilを使用して提案しています。 'coo'はこのように設定することはできません。一旦充填されると、別のフォーマットに変換するのは簡単です。

+0

+1ハロウィンで編集する –

関連する問題