获取COO稀疏矩阵的内存使用情况

问题描述

如何推断稀疏COO格式矩阵的内存使用情况

数据

row  = np.array([0,1,3,0])
col  = np.array([0,2,0])
data = np.array([1,1])
mat = coo_matrix((data,(row,col)),shape=(4,4))

在网上,我发现了似乎不适用于coo矩阵的解决方案:

mat.data.nbytes + mat.indptr.nbytes + mat.indices.nbytes

mat.data.nbytes不会返回错误,但是其大小比应有的要小得多(从数据帧列创建大的稀疏矩阵时)。我在这里缺少任何组件吗?

解决方法

更仔细地阅读docs->请参阅属性

mat.data.nbytes + mat.row.nbytes + mat.col.nbytes

您复制粘贴了针对csr / csc矩阵调整的内容(请参见其属性)。