You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不转密集数组,将1x40 CSR矩阵追加到9x15426 CSR矩阵每行后?

无需转换为密集数组实现CSR稀疏矩阵的横向维度追加

完全可以在不转换为密集数组的前提下实现需求,利用Scipy稀疏矩阵的原生操作即可完成,步骤如下:

  • 第一步:复制小矩阵到对应行数
    把1x40的CSR矩阵重复9次,生成一个9x40的CSR矩阵,保证其行数与第二个矩阵(9行)一致。使用repeat方法直接操作稀疏矩阵结构,不会触发密集数组转换:

    mat1_repeated = mat1.repeat(9, axis=0)
    
  • 第二步:横向拼接两个稀疏矩阵
    使用hstack方法将9x15426的矩阵和刚生成的9x40矩阵横向拼接,指定输出格式为CSR:

    from scipy.sparse import hstack
    
    result = hstack([mat2, mat1_repeated], format='csr')
    

关键说明

  • 整个过程仅操作CSR矩阵的内部存储结构(indptr、indices、data数组),完全避开密集数组转换,适合处理大规模稀疏数据。
  • 拼接后的矩阵会自动统一数据类型为numpy.int64,与你预期的结果属性一致。

内容的提问来源于stack exchange,提问作者Blue482

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 13:50:21