首页 > 解决方案 > 行/列切片scipy.sparse.csc_matrix中的内存效率低下

问题描述

使用以下代码按行/列对 scipy.sparse.csc_matrix 进行切片会导致切片时内存分配增加一倍。如何在切片期间避免这种内存增量的同时进行切片?

import numpy
from scipy import sparse

@profile
def slice_matrix(n=10000):
    a = sparse.csc_matrix(numpy.random.random((n,n))>0.9, dtype=float)
    mask = numpy.repeat(numpy.random.choice([True, False]), n)
    return a[mask, ][:, mask]

标签: pythonmemoryscipyslicesparse-matrix

解决方案


推荐阅读