Io di solito usoQual è il modo più veloce per tagliare una matrice scipy.sparse?
matrix[:, i:]
sembra non funzionare più veloce come mi aspettavo.
Io di solito usoQual è il modo più veloce per tagliare una matrice scipy.sparse?
matrix[:, i:]
sembra non funzionare più veloce come mi aspettavo.
Se si vuole ottenere una matrice sparsa come output il modo più veloce per fare fila affettare è quello di avere un tipo di csr
, e per le colonne affettare csc
, as detailed here. In entrambi i casi devi solo fare quello che si sta facendo:
matrix[l1:l2,c1:c2]
Se volete un altro tipo di output ci modi forse più veloci. In this other answer vengono spiegati molti metodi per affettare una matrice e confrontare i loro tempi diversi. Ad esempio, se si desidera un ndarray
come output l'affettamento più veloce è:
matrix.A[l1:l2,c1:c2]
o:
matrix.toarray()[l1:l2,c1:c2]
molto più veloce di:
matrix[l1:l2,c1:c2].A #or .toarray()
Ma matrix.A porterà a memoryError se la matrice è molto grande. – Munichong
mente di benchmarking per noi? forse usa anche 'timeit'? –