2012-12-12 12 views

答えて

6

出力として疎行列を取得する場合、行スライスを実行する最も速い方法は、csrの型を持ち、列のスライスをcscas detailed hereにすることです。どちらの場合も、あなたはちょうどあなたが現在何をしているかをしなければならない。

matrix[l1:l2,c1:c2] 

をあなたがそこに出力多分速い方法として、別の型をしたい場合。 In this other answerには、マトリックスをスライスするための多くの方法と、それらの異なるタイミングを比較して説明しています。あなたがしたい場合たとえば、ndarrayは出力として最速のスライスは次のとおりです。

matrix.A[l1:l2,c1:c2] 

か:

matrix.toarray()[l1:l2,c1:c2] 

よりもはるかに高速:

matrix[l1:l2,c1:c2].A #or .toarray() 
+7

行列が非常に大きい場合、matrix.AはmemoryErrorになります。 – Munichong

関連する問題