Combine matrix and sparse matrix

How can you add a matrix with 1 column to a sparse matrix or add a sparse matix to a matrix of columns (anyway)? It does not have to replace data, just attach it to the same data type.

Rare matrix:

>>print type(X) >>print X.shape <class 'scipy.sparse.csr.csr_matrix'> (53, 6596) 

Column to add:

 >>print type(Y) >>print Y.shape <class 'numpy.matrixlib.defmatrix.matrix'> (53, 1) 

How can you do this?

+4
source share
1 answer

from the docs, it seems to me that you are looking for hstack / vstack from the scipy.sparse module:

 Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import scipy.sparse as ssp >>> print ssp.hstack.__doc__ Stack sparse matrices horizontally (column wise) Parameters ---------- blocks sequence of sparse matrices with compatible shapes format : string sparse format of the result (eg "csr") by default an appropriate sparse matrix format is returned. This choice is subject to change. See Also -------- vstack : stack sparse matrices vertically (row wise) Examples -------- >>> from scipy.sparse import coo_matrix, vstack >>> A = coo_matrix([[1,2],[3,4]]) >>> B = coo_matrix([[5],[6]]) >>> hstack( [A,B] ).todense() matrix([[1, 2, 5], [3, 4, 6]]) >>> 
+8
source

All Articles