2017-01-24 6 views

答えて

2

私は疎行列X

In [605]: X 
Out[605]: 
<100x100 sparse matrix of type '<class 'numpy.float64'>' 
    with 1000 stored elements in Compressed Sparse Row format> 

getsizeofがまばらなデータとインデックスは、csr行列のために3つの配列に格納されている私に

In [606]: import sys 
In [607]: sys.getsizeof(X) 
Out[607]: 28 

便利なものを教えてくれない持っている:

In [612]: X.data.nbytes 
Out[612]: 8000 
In [613]: X.indices.nbytes 
Out[613]: 4000 
In [614]: X.indptr.nbytes 
Out[614]: 404 

したがって、おおよその合計容量はこれらの値の合計我々は、形状、DTYPEとNNZからそれらの値を計算することができるcooフォーマット

In [615]: Xc=X.tocoo() 
In [616]: Xc.data.nbytes 
Out[616]: 8000 
In [617]: Xc.row.nbytes 
Out[617]: 4000 
In [618]: Xc.col.nbytes 
Out[618]: 4000 

について

。例えば

その他のフォーマットでは、データ保存方法(例えば、lil,dokなど)の知識が必要です。

+0

非常にすっきりした答えです!あなたのスパース行列に対して 'X.data .__ sizeof __()'は返されますか? – MaxU

+1

'48' - numpy配列の一般的なヘッダーサイズ(形状、ストライド、フラグなどのスペース) – hpaulj

関連する問題