2013-10-31 58 views
20

使用SciPy/Numpy在Python中連接稀疏矩陣的最有效方式是什麼?使用SciPy/Numpy在Python中連接稀疏矩陣

這裏我使用了以下內容:

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

我想回歸到使用這兩個預測結果,但目前的格式顯然不是我要找的。是否有可能得到以下結果:

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

它太大而無法轉換爲深度格式。

回答

35

可以使用scipy.sparse.hstack

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

使用numpy.hstack將建立一個具有兩個稀疏矩陣對象的數組。

+0

似乎hstack是相當慢,檢查此類似問題上的帖子[鏈接](https://stackoverflow.com/a/33259578/6485667) – simeon

+0

@simeon有趣的是,Scipy的開發團隊還沒有采用這種有效的解決方案 –