0
我有一個scipy CSR矩陣,我想獲取每行的元素列索引。我的做法是:稀疏矩陣:如何獲得每行的非零索引
import scipy.sparse as sp
N = 100
d = 0.1
M = sp.rand(N, N, d, format='csr')
indM = [row.nonzero()[1] for row in M]
INDM正是我需要的,它有相同數量的行爲M,看起來像這樣:
[array([ 6, 7, 11, ..., 79, 85, 86]),
array([12, 20, 25, ..., 84, 93, 95]),
...
array([ 7, 24, 32, 40, 50, 51, 57, 71, 74, 96]),
array([ 1, 4, 9, ..., 71, 95, 96])]
的問題是,與大矩陣這種方法看起來很慢。 有什麼辦法避免列表理解或以某種方式加快速度?
謝謝。
大,謝謝! –
'M.tolil()。rows'給出一個具有相同值列表的對象數組。 – hpaulj