【发布时间】:2020-02-18 16:17:37
【问题描述】:
在下面的示例中,我正在创建 idxL,并且我想遍历其元素以执行其他操作。我试图理解为什么idxL[0][0] 返回[[ True False False False False]] 而不是只返回True。 idxL.item(0) 似乎有效。我想我可以使用它遍历 idxL 中的全部项目。但是,出于某种原因,我认为当我开始处理更大的数组时效率不会那么高。
from scipy.sparse import csr_matrix
a=['foo','panda','donkey','bird','egg']
b='foo'
idxL=csr_matrix((1,5), dtype=bool)
idxTemp=np.array(list(map(lambda x: x in b, a)))
idxL = idxL + idxTemp
print(idxL[0][0])
print(idxL.item(0))
【问题讨论】:
-
idxL[0,0]是稀疏矩阵的正确方法,甚至对于 numpy 数组也是首选。 -
@hpaulj 不过,它似乎不起作用。我想知道为什么。
-
什么不起作用?它有什么作用?在稀疏矩阵上循环是低效的,比在密集数组上循环更糟糕。坚持使用列表或字典
标签: python numpy matrix indexing sparse-matrix