2013-08-24 190 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>