私は通常使用します
matrix[:, i:]
期待したほど速く動作しないようです。
スパース行列を出力として取得する場合、行のスライスを行う最速の方法は、csr
型を指定することです。列のスライスについてcsc
は、こちらで詳しく説明します。どちらの場合も、現在行っていることを実行するだけです。
matrix[l1:l2,c1:c2]
出力として別のタイプが必要な場合は、より高速な方法があります。この他の回答では、マトリックスをスライスするための多くの方法とそれらの異なるタイミングの比較について説明しています。たとえば、ndarray
出力として必要な場合、最速のスライスは次のとおりです。
matrix.A[l1:l2,c1:c2]
また:
matrix.toarray()[l1:l2,c1:c2]
以下よりもはるかに高速です。
matrix[l1:l2,c1:c2].A #or .toarray()