【发布时间】:2018-05-26 00:53:48
【问题描述】:
我想检查两个稀疏数组是否(几乎)相等。而对于 numpy 数组,您可以这样做:
import numpy as np
a = np.ones(200)
np.testing.assert_array_almost_equal(a, a)
这不适用于稀疏数组,我可以理解(对于较小的矩阵或与数组大小相关的错误返回错误AttributeError: ravel not found)。是否有等效于测试稀疏矩阵的 scipy?我可以将稀疏矩阵转换为密集矩阵并使用 numpy 测试功能,但有时由于(内存/大小)限制,这是不可能的。例如:
from scipy import sparse
b = sparse.rand(80000,8000,density=0.01)
type(b) # <class 'scipy.sparse.coo.coo_matrix'>
c = b.toarray() # ValueError: array is too big; `arr.size * arr.dtype.itemsize` is larger than the maximum possible size.
是否可以测试这些较大的 scipy 数组是否相等,还是应该测试较小的样本?
【问题讨论】:
标签: python numpy scipy sparse-matrix