2015-05-23 10 views
9

Mi chiedo se ci sia qualche differenza (vantaggio/svantaggio) nell'uso di .toarray() rispetto a .todense() su array sparsi di NumPy. Ad es.,NumPy e SciPy - Differenza tra .todense() e .toarray()

import scipy as sp 
import numpy as np 
sparse_m = sp.sparse.bsr_matrix(np.array([[1,0,0,0,1], [1,0,0,0,1]])) 

%timeit sparse_m.toarray() 
1000 loops, best of 3: 299 µs per loop 

%timeit sparse_m.todense() 
1000 loops, best of 3: 305 µs per loop 

risposta

15

toarray restituisce un narray; todense restituisce una matrice. Se vuoi una matrice, usa todense; altrimenti, utilizzare toarray.