gpt4 book ai didi

python - 从 scipy CSR 稀疏矩阵访问值、列索引和 row_ptr 数据

转载 作者:太空狗 更新时间:2023-10-29 17:17:43 26 4
gpt4 key购买 nike

我有一个大矩阵,我想将其转换为稀疏 CSR 格式。

当我这样做时:

import scipy as sp
Ks = sp.sparse.csr_matrix(A)

print Ks

A 是稠密的,我得到

 (0, 0) -2116689024.0
(0, 1) 394620032.0
(0, 2) -588142656.0
(0, 12) 1567432448.0
(0, 14) -36273164.0
(0, 24) 233332608.0
(0, 25) 23677192.0
(0, 26) -315783392.0
(0, 45) 157961968.0
(0, 46) 173632816.0

等...

我可以使用以下方法获取行索引、列索引和值的向量:

Knz = Ks.nonzero()
sparserows = Knz[0]
sparsecols = Knz[1]

#The Non-Zero Value of K at each (Row,Col)
vals = np.empty(sparserows.shape).astype(np.float)
for i in range(len(sparserows)):

vals[i] = K[sparserows[i],sparsecols[i]]

但是是否可以提取稀疏 CSR 格式中应该包含的向量(值、列索引、行指针)?

SciPy 的文档解释说,可以从这三个向量生成 CSR 矩阵,但我想做相反的事情,将这三个向量取出。

我错过了什么?

感谢抽空!

最佳答案

value = Ks.data
column_index = Ks.indices
row_pointers = Ks.indptr

我相信这些属性没有记录,这可能会使它们发生变化,但我已经在多个版本的 scipy 上使用了它们。

关于python - 从 scipy CSR 稀疏矩阵访问值、列索引和 row_ptr 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com