Scipy(v0.18.1)のブール演算を使用して、スパース(2進)配列の列を結合したいと考えています。高密度マトリックスの場合、それはうまく動作します:Scipyスパース行列:ブール値の組み合わせ
data[:,5] & ~data[:,23] & data[:,400]
1つの列に崩壊します。しかし、これをスパース配列で行うとエラーが発生します。ブール部分の
エラー:〜(反転)部分の
"unsupported operand type(s) for &: 'csc_matrix' and 'csc_matrix'"
がエラー:
bad operand type for unary ~: 'csc_matrix'
単項 '〜'を適用する前にスライスを密に変換する必要があるかもしれません。スパース行列を反転すると、とにかく(おそらくは_非常に)密行列が得られます。 –
@LucaCiti良い点!彼らはおそらく、パフォーマンス(および一貫性)の理由でそれを実装しなかったでしょう。なぜなら、希薄なマトリックスの補完は、もはやまばらではありません。 –
@ LucaCitiさて、おそらく私はゼロ以外の要素をチェックしてトリックをすることができます。ブール値の部分はどうですか? – cgreen