我有一个设计矩阵,我正在使用scipy模块
在稀疏矩阵中进行转换它有很多行,只有几列
有了这种形状,使用CSC或CSR设计会更好吗?或者它们是否与执行速度完全相同?
基本上,它看起来像这个例子: (但真正的行中还有更多行)
谢谢!
答案 0 :(得分:5)
您可以轻松地将一种格式转换为另一种格式(.tocsc()
,.tocsr()
)。事实上,M.T
的{{1}}只会创建一个具有相同数据的csr
。
在许多情况下,csc
函数将矩阵转换为另一种格式以执行某些操作。在其他情况下,如果格式不是最好的,它会给出“效率”警告。 (注意,警告每次运行只出现一次。)
如果您正在迭代列,或主要按列选择,sparse
会更好,而csc
则相反。对于数学,矩阵产品等,它们是等价的。
单向创建矩阵,并对典型操作进行一些时序测试。