压缩稀疏列(CSC)或压缩稀疏行(CSR)稀疏矩阵?

Cov*_*ich 6 python scipy sparse-matrix sparse-columns

我有一个设计矩阵,我正在使用scipy模块在稀疏矩阵中进行转换

它有很多行,只有很少的列

有了这种形状,使用CSC或CSR设计会更好吗?或者他们是否严格等同于执行速度?

基本上,它看起来像这个例子:(但真正的行中还有更多的行)

在此输入图像描述

谢谢 !

hpa*_*ulj 5

您可以轻松地将一种格式转换为另一种格式(.tocsc().tocsr())。实际上M.T对于一个csr刚创建的csc具有相同数据。

在许多情况下,sparse函数将矩阵转换为另一种格式以执行某些操作。在其他情况下,如果格式不是最佳格式,则会发出“效率”警告。(请注意,警告每次运行仅出现一次。)

如果您要遍历列或主要按列进行选择,csc则最好使用相反的true csr。对于数学,矩阵乘积等,它们是等效的。

以一种方式创建矩阵,并对典型操作进行一些时序测试。