我在使用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中将它们合并在一起?
任何答案都表示赞赏!
答案 0 :(得分:5)
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