2013-08-24 154 views
4

是否有可能在python中堆叠稀疏和密集的numpy数组?我知道这可以使用vstack/hstack为密集的numpy阵列完成。我有一些列的,我想补充一个稀疏矩阵,以增加堆叠稀疏和密集矩阵

回答

6

是的,你可以使用scipy.sparse.vstackscipy.sparse.hstack特征向量的数量,以同样的方式,你会用密集阵列numpy.vstacknumpy.hstack

实施例:

from scipy.sparse import coo_matrix 
m = coo_matrix(np.array([[0,0,1],[1,0,0],[1,0,0]])) 
a = np.ones(m.shape) 

随着np.vstack

np.vstack((a,m)) 
#ValueError: all the input array dimensions except for the concatenation axis must match exactly 

随着scipy.sparse.vstack

scipy.sparse.vstack((a,m)) 
#<6x3 sparse matrix of type '<type 'numpy.float64'>' 
#  with 12 stored elements in COOrdinate format>