2012-12-12 62 views

回答

6

如果你想獲得一個稀疏矩陣作爲輸出,最快的方式來做行分割是有一個csr類型,併爲列切片csc,as 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

相關問題