如何编程实现列表中多个csr矩阵的hstack批量拼接操作
实现方案
你当前存储csr矩阵的列表可以直接作为参数传入scipy.sparse.hstack,不需要手动拆分逐个传参,同时注意稀疏矩阵不要使用numpy.hstack处理,会触发密集矩阵转换导致内存占用飙升、运行效率下降。
具体代码如下:
from scipy.sparse import hstack # 直接传入存储了所有csr矩阵的列表l即可 stacked_matrix = hstack(l)
如果需要后续对堆叠后的矩阵做稀疏矩阵运算,可以指定返回格式为csr,进一步提升效率:
stacked_matrix = hstack(l, format='csr')
如果遇到其他必须逐个传入位置参数的函数,也可以使用Python的序列解包语法实现:
# *l 会自动把列表内的元素按顺序拆分为独立的位置参数 stacked_matrix = hstack(*l)
内容的提问来源于stack exchange,提问作者Anirudh
相关产品推荐
相关产品推荐

