Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将两个csr_矩阵合并为一个?_Python_Scipy_Sparse Matrix - Fatal编程技术网

Python 如何将两个csr_矩阵合并为一个?

Python 如何将两个csr_矩阵合并为一个?,python,scipy,sparse-matrix,Python,Scipy,Sparse Matrix,我在使用scipy.sparse.csr_矩阵时遇到问题: 例如: 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()))) 但当矩阵庞大且稀疏时,它将无法工作,因

我在使用scipy.sparse.csr_矩阵时遇到问题:

例如:

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_矩阵中

任何答案都将不胜感激

有自己的。您可以直接在稀疏矩阵上使用它们

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

真管用!我早该弄明白的!谢谢!
sparse.vstack
的实际工作由
sparse.bmat