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

如何提取scipy.sparse.csr_matrix的索引列表而非单个元素?

提取CSR矩阵的非零元素索引

针对你的CSR矩阵需求,直接用A[0]只能拿到第0行的子矩阵,要提取该行所有非零元素的索引对,可以用scipy稀疏矩阵的nonzero()方法:

方法1:提取矩阵所有非零元素的索引对

import scipy.sparse as sp

# 构建匹配你给出结构的示例矩阵
data = [0, 0, 1]
row_indices = [0, 0, 0]
col_indices = [6, 8, 15]
A = sp.csr_matrix((data, (row_indices, col_indices)), shape=(1, 16))

# 获取行、列索引数组并配对成元组
rows, cols = A.nonzero()
index_pairs = tuple(zip(rows, cols))
print(index_pairs)  # 输出:((0, 6), (0, 8), (0, 15))

方法2:仅提取第0行的索引对

如果你只需要第0行的索引,也可以先取出行子矩阵再处理:

row_0 = A[0]
r_rows, r_cols = row_0.nonzero()
row_index_pairs = tuple(zip(r_rows, r_cols))
print(row_index_pairs)  # 输出同样符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 19:12:36