i want concatenate 2 csr_matrix, each shape=(1,n) .   i know should use scipy.sparse.vstack :   from scipy.sparse import csr_matrix,vstack c1 = csr_matrix([[1, 2]])  c2 = csr_matrix([[3, 4]])  print c1.shape,c2.shape print vstack([c1, c2], format='csr')  #prints: (1, 2) (1, 2)   (0, 0)    1   (0, 1)    2   (1, 0)    3   (1, 1)    4   however, code fails:   from scipy.sparse import csr_matrix,vstack import numpy np y_train = np.array([1, 0, 1, 0, 1, 0]) x_train = csr_matrix([[1, 1], [-1, 1], [1, 0], [-1, 0], [1, -1], [-1, -1]])  c0 = x_train[y_train == 0].mean(axis=0) c1 = x_train[y_train == 1].mean(axis=0)  print c0.shape, c1.shape #prints (1l, 2l) (1l, 2l) print c0,c1 #prints [[-1.  0.]] [[ 1.  0.]] print vstack([c0,c1], format='csr')   the last line raises exception -      file "c:\anaconda\lib\site-packages\scipy\sparse\construct.py", line 484, in vstack           return bmat([[b] b in blocks], format=format, dtype=dtype)       file "c:\anaconda\li...
 
Comments
Post a Comment