NumPy和SciPy - .todense()和.toarray()之间的区别

时间:2015-05-23 19:23:44

标签: python numpy scipy

我想知道在稀疏NumPy数组上使用.toarray().todense()之间是否存在任何差异(优势/劣势)。例如,

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

1 个答案:

答案 0 :(得分:22)

toarray返回一个ndarray; todense返回一个矩阵。如果您想要矩阵,请使用todense;否则,请使用toarray