考虑对稀疏矩阵执行判断条件,去除掉一些不满足条件的元素(这里是将不满足条件的元素值置为0).
(1).如果直接对稀疏矩阵操作,然后保存得到npz文件. 执行操作(将稀疏矩阵不满足条件的元素置为0)的效率会非常低:
S= sparse.load_npz('1.npz')
S[S>1]=0
sparse.save_npz('2.npz', S)
(2).考虑将稀疏矩阵转换成ndarry数组,执行操作的效率将大大提高,再将执行操作后的ndarry数组转换为稀疏矩阵,最后将稀疏矩阵保存为npz文件:
S= sparse.load_npz('1.npz')
S=S.toarray()
S[S>1]=0
S=sparse.csr_matrix(S)
sparse.save_npz('2.npz', S)
(3).总结,将稀疏矩阵中某些元素置为0其实是增加了稀疏矩阵的大小.稀疏矩阵与ndarry数组交替转换并执行操作的过程大大地提高了效率.