web-dev-qa-db-fra.com

NumPy et SciPy - Différence entre .todense () et .toarray ()

Je me demande s'il y a une différence (avantage/inconvénient) à utiliser .toarray() contre .todense() sur des tableaux NumPy clairsemés. Par exemple.,

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
23
user2489252

toarray renvoie un ndarray; todense renvoie une matrice. Si vous voulez une matrice, utilisez todense; sinon, utilisez toarray.

25
user2357112