python - 行/列切片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]
解决方案
推荐阅读
- spring-boot - 如何禁用 Spring Web MVC
- python - 如何在循环过程中设置条件语句
- android - 按需动态功能模块安装始终返回已安装状态,但从不下载模块
- android - 如何在构建过程中仅包含所需的 SDK(工厂设计模式)
- android - Android Gradle 插件错误:字符串太大,无法使用 UTF-8 进行编码,而是写为“STRING_TOO_LARGE”
- php - 如何在加载js之前使用来自url的值设置cookie
- sql - 如果它与当前值相同,则忽略最后一个值
- python - 删除类方法python生成的所有变量(类)
- asp.net - 我可以将会话值传递给变量,然后将其保存到另一个 guid 类型变量吗
- latex - sty 颜色缺失问题 Beamer Poster JHR