Python。访问 CSR 格式的列索引
Python. Accesing column indices in CSR format
我开始使用 python 和 CSR 格式。
我知道如果我有一个正确初始化的 csr 矩阵,我们称它为 "conectivity",那么,当我输入
conectivity[14,:]
我会得到这样的答复:
(0, 1) 1.0
(0, 13) 1.0
(0, 15) 1.0
(0, 27) 1.0
获取这个向量的正确方法是什么?
[ 1, 13, 15, 27 ]
conectivity
是一个矩阵(不是np.matrix
的子类,但功能相似)。
conectivity[14,:]
是另一个二维稀疏矩阵。这就是你的打印显示
(0, 1) 1.0
(0, 13) 1.0
(0, 15) 1.0
(0, 27) 1.0
conectivity[14,:].toarray()
(或简称.A
)会给你类似
的东西
[[0,1,0...1,0,1,....]]
一个二维数组,有 1 行和很多 0。
conectivity[14,:].data
是这个矩阵的data
属性。
conectivity[14,:].col
是列索引属性。我想这就是你想要的。
conectivity[14,:].nonzero()
还给出(非零项的)行值和列值。
我应该补充一点,虽然 nonzero
适用于所有稀疏格式,但 .col
仅适用于 coo
格式(coo
格式不实现这种形式的索引) .对于 csr
矩阵,.indices
给出列索引值;对于单行矩阵,这应该是所需的数组。对于多行矩阵 .indices
更复杂。
我开始使用 python 和 CSR 格式。
我知道如果我有一个正确初始化的 csr 矩阵,我们称它为 "conectivity",那么,当我输入
conectivity[14,:]
我会得到这样的答复:
(0, 1) 1.0
(0, 13) 1.0
(0, 15) 1.0
(0, 27) 1.0
获取这个向量的正确方法是什么?
[ 1, 13, 15, 27 ]
conectivity
是一个矩阵(不是np.matrix
的子类,但功能相似)。
conectivity[14,:]
是另一个二维稀疏矩阵。这就是你的打印显示
(0, 1) 1.0
(0, 13) 1.0
(0, 15) 1.0
(0, 27) 1.0
conectivity[14,:].toarray()
(或简称.A
)会给你类似
[[0,1,0...1,0,1,....]]
一个二维数组,有 1 行和很多 0。
conectivity[14,:].data
是这个矩阵的data
属性。
conectivity[14,:].col
是列索引属性。我想这就是你想要的。
conectivity[14,:].nonzero()
还给出(非零项的)行值和列值。
我应该补充一点,虽然 nonzero
适用于所有稀疏格式,但 .col
仅适用于 coo
格式(coo
格式不实现这种形式的索引) .对于 csr
矩阵,.indices
给出列索引值;对于单行矩阵,这应该是所需的数组。对于多行矩阵 .indices
更复杂。