web-dev-qa-db-fra.com

Concaténer des matrices clairsemées dans Python en utilisant SciPy / Numpy

Quelle serait la façon la plus efficace de concaténer des matrices clairsemées dans Python en utilisant SciPy/Numpy?

Ici, j'ai utilisé ce qui suit:

>>> 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)

J'aimerais utiliser les deux prédicteurs dans une régression, mais le format actuel n'est évidemment pas ce que je recherche. Serait-il possible d'obtenir les éléments suivants:

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

Il est trop volumineux pour être converti en un format profond.

29
PascalVKooten

Vous pouvez utiliser le scipy.sparse.hstack:

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

En utilisant le numpy.hstack créera un tableau avec deux objets matriciels clairsemés.

50