python - 如何压缩非常大的二进制稀疏矩阵
问题描述
我们谈论的矩阵大小为 2M * 500K,其中大约 1% 的元素是True
. 如果使用 存储scipy.sparse.csr_matrix
,大小约为 90GB。
矩阵一旦构造就不会被修改。它只会按行读取。有什么想法吗?
由于scipy.sparse.csr_matrix
使用三个数组(data
, indptr
, indices
)来表示二进制备用矩阵。在我自己的数据结构中,我可以简单地删除data
数组,因为我知道所有元素的值都是 1。这将稀疏矩阵的大小减少了一半到 45GB。我怎样才能进一步压缩它?
解决方案
推荐阅读
- python - 为什么我不能在 tkinter Toplevel() 窗口中显示图像?
- typescript - 参数的默认值是否可以取决于打字稿中的另一个参数
- symfony - 如何使用 Symfony 从功能测试中记录用户
- postgresql - 在 PostgreSQL 中按周分组时,如何始终获得完整的时间段?
- list - Prolog:将列表过滤成列表
- ruby-on-rails - Rails 6 - 页面刷新时所有代码更改都不会在屏幕上更新
- python - Python 一直 ping 主机直到可以访问。第一次无法在控制台上打印
- javascript - 有人可以向我解释为什么这些箭头函数中的关键字 `this` 以这些示例中的给定值结尾
- sql - 在 where 子句中使用 uuid 列更新表的列值时出现问题
- python - 将列表作为列添加到数据框的正确方法是什么?