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

时间:2015-09-09 14:07:38

标签: python scipy sparse-matrix sparse-columns

我有一个设计矩阵,我正在使用scipy模块

在稀疏矩阵中进行转换

它有很多行,只有几列

有了这种形状,使用CSC或CSR设计会更好吗?或者它们是否与执行速度完全相同?

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

enter image description here

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以轻松地将一种格式转换为另一种格式(.tocsc().tocsr())。事实上,M.T的{​​{1}}只会创建一个具有相同数据的csr

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

如果您正在迭代列,或主要按列选择,sparse会更好,而csc则相反。对于数学,矩阵产品等,它们是等价的。

单向创建矩阵,并对典型操作进行一些时序测试。