Skip to main content
 首页 » 编程设计

python之如何将两个 csr_matrix 合并为一个

2025年05月04日31tintown

我在使用 scipy.sparse.csr_matrix 时遇到问题:

例如:

a = csr_matrix([[1,2,3],[4,5,6]]) 
b = csr_matrix([[7,8,9],[10,11,12]]) 

如何将它们合并成

[[1,2,3],[4,5,6],[7,8,9],[10,11,12]] 

我知道一种方法是先将它们转移到 numpy 数组中:

csr_matrix(numpy.vstack((a.toarray(),b.toarray()))) 

但当矩阵很大且稀疏时,它就不会工作,因为内存会耗尽。

那么有什么方法可以将它们合并到 csr_matrix 中吗?

如有任何答案,我们将不胜感激!

请您参考如下方法:

scipy.sparse有自己的stack-methods .您可以直接在稀疏矩阵上使用它们。

import scipy.sparse as sp 
 
a = sp.csr_matrix([[1,2,3],[4,5,6]]) 
b = sp.csr_matrix([[7,8,9],[10,11,12]]) 
c = sp.vstack((a,b))  # NOT np.vstack