2017-06-07 11 views
0

np.zeros()で行列を作成し、それをsp.issparse()でテストしました。行列がゼロであっても(なぜなら、大部分がゼロ行列の場合でも)私が偽になるのはなぜですか?なぜnumpy.zeros()行列がscipy.sparse.issparse()でfalseになるのですか?

+0

この 'issparse'は、0の割合ではなく、行列クラスをテストします – hpaulj

+0

この関数のコードはちょうど' isinstance(x、sparse.spmatrix) 'です。 – hpaulj

答えて

0

スパース行列には異なるメモリ表現があります。つまり、重要なセルはゼロではなく、セルがメモリに割り当てられているということです。

np.zeros()は、配列のすべてのフィールドを0にしてもメモリに割り当てますが、スパース行列には割り当てません。

numpy行列/配列を疎行列に変換する方法については、hereを参照してください。

関連する問題