나는 일반적으로 그것은 빠른 속도로 내가 예상대로 작동하지 않을 것 같다scipy.sparse 행렬을 슬라이스하는 가장 빠른 방법은 무엇입니까?
matrix[:, i:]
를 사용합니다.
나는 일반적으로 그것은 빠른 속도로 내가 예상대로 작동하지 않을 것 같다scipy.sparse 행렬을 슬라이스하는 가장 빠른 방법은 무엇입니까?
matrix[:, i:]
를 사용합니다.
출력으로 드문 드문 행렬을 얻으려면 행 분할을 수행하는 가장 빠른 방법은 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()
그러나 matrix.A는 행렬이 매우 큰 경우 memoryError로 연결됩니다. – Munichong
마음이 우리를 벤치마킹? 아마도'timeit'을 사용하겠습니까? –