gpt4 book ai didi

python - 访问 csr_matrix 的所有非零条目

转载 作者:行者123 更新时间:2023-12-02 11:33:27 24 4
gpt4 key购买 nike

我有一个稀疏矩阵:

from scipy.sparse import csr_matrix
M=csr_matrix((5,5))
M[2,3]=4

我想迭代所有非零条目,例如:

for x,y,v in M.non_zero_entries:
do_something()

我尝试理解 M.dataM.indicesM.indptr 的值

现在,在上面的示例中:

print (M.data) #outputs [4]
print (M.indices) #outputs [3]
print (M.indptr) #outputs [0,0,0,1,1,1]

如何从中提取非零记录?

最佳答案

您正在寻找的是 nonzero方法:

csr_matrix.nonzero()

Returns a tuple of arrays (row,col) containing the indices of thenon-zero elements of the matrix.

所以你的循环将是这样的:

for row, col in zip(*M.nonzero()):
val = M[row, col]
# do something
print((row, col), val)

关于python - 访问 csr_matrix 的所有非零条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598419/

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