在python中保存大矩阵:保存零而不是数据

在python中保存大矩阵:保存零而不是数据,python,numpy,matrix,Python,Numpy,Matrix,我在实验室工作,在ipython 2.7上遇到了一个问题;当我试图保存(numpy.save)80*10*284*300的大矩阵时,保存的矩阵只填充了一部分。因此,当我加载保存的矩阵(numpy.load)时,只存储第一个数据的一小部分,矩阵的其余部分用零填充。我的磁盘上是否缺少内存?创建的.npy文件相当大(4gB,矩阵大部分为空,可能完全填充的矩阵对于我的磁盘来说太大?) 提前感谢您在这个问题上提供的帮助文件系统允许的最大文件大小是多少?为什么numpy文件那么大?假设每个条目保存8字节,则

我在实验室工作,在ipython 2.7上遇到了一个问题;当我试图保存(numpy.save)80*10*284*300的大矩阵时,保存的矩阵只填充了一部分。因此,当我加载保存的矩阵(numpy.load)时,只存储第一个数据的一小部分,矩阵的其余部分用零填充。我的磁盘上是否缺少内存?创建的.npy文件相当大(4gB,矩阵大部分为空,可能完全填充的矩阵对于我的磁盘来说太大?)


提前感谢您在这个问题上提供的帮助

文件系统允许的最大文件大小是多少?为什么numpy文件那么大?假设每个条目保存8字节,则80*10*284*300*8字节=545MB。其他3.5 GB从何而来?您使用的是具有多个字段的结构化阵列吗?如果是这样,您的问题可能会在numpy 1.9中得到解决,请参阅。感谢您的回答。numpy文件很大,因为它实际上每个条目32位,因为我们使用float32作为数据格式(实际上我们处理的是图片)。我不知道文件系统的maw文件大小是多少,我如何检查它?而且我也不使用结构化数组。据我所知,矩阵是通过numpy.zero分配的,没有进一步的处理。