43

SciPy/Numpyを使用してPythonでスパース行列を連結する最も効率的な方法は何ですか?

ここでは、次のものを使用しました。

>>> np.hstack((X, X2))
array([ <49998x70000 sparse matrix of type '<class 'numpy.float64'>'
        with 1135520 stored elements in Compressed Sparse Row format>,
        <49998x70000 sparse matrix of type '<class 'numpy.int64'>'
        with 1135520 stored elements in Compressed Sparse Row format>], 
       dtype=object)

回帰で両方の予測子を使用したいのですが、現在の形式は明らかに探しているものではありません。以下のものを入手することは可能でしょうか。

    <49998x1400000 sparse matrix of type '<class 'numpy.float64'>'
     with 2271040 stored elements in Compressed Sparse Row format>

ディープ フォーマットに変換するには大きすぎます。

4

1 に答える 1

73

を使用しscipy.sparse.hstackて、同じ行数の疎行列を連結できます (水平連結)。

from scipy.sparse import hstack
hstack((X, X2))

同様に、 を使用scipy.sparse.vstackして、同じ数の列を持つ疎行列を連結できます (垂直連結)。

numpy.hstackorを使用numpy.vstackすると、2 つの疎行列オブジェクトを含む配列が作成されます。

于 2013-10-31T15:30:41.937 に答える