numpy数组中的np.nan是否占用内存?

yan*_*hen 5 python numpy pandas

我有一个巨大的 csv 文件,无法加载到内存中。将其转换为 libsvm 格式可能会节省一些内存。csv文件中有很多nan。如果我读取行并将它们存储为 np.array,np.nan 为 NULL,该数组是否仍然占用太多内存?数组中的np.nan也占用内存吗?

Sha*_*hai 6

当使用数字的浮点表示时,非数字值 (NaNinf) 也由特定的二进制模式表示,该模式占用与任何数字浮点值相同的位数。因此,NaNs 与数组中的任何其他数字占用相同的内存量。


Kai*_*egh 4

据我所知,nan 和零值与任何其他值占用相同的内存,但是,您可以通过其他方式解决您的问题:

您是否尝试过使用稀疏向量?它们适用于具有大量 0 值的向量,并且内存消耗经过优化

SVM 模块 Scipy

稀疏矩阵 Scipy

那里有一些关于 SVM 和稀疏矩阵的信息,如果您还有其他问题,请提问。

编辑以提供答案和解决方案