我按照这个问题Append multiple numpy files to one big numpy file in python将许多numpy文件放在一个大文件中,结果是:
import matplotlib.pyplot as plt
import numpy as np
import glob
import os, sys
fpath ="path_Of_my_final_Big_File"
npyfilespath ="path_of_my_numpy_files"
os.chdir(npyfilespath)
npfiles= glob.glob("*.npy")
npfiles.sort()
all_arrays = np.zeros((166601,8000))
for i,npfile in enumerate(npfiles):
all_arrays[i]=np.load(os.path.join(npyfilespath, npfile))
np.save(fpath, all_arrays)
data = np.load(fpath)
print data
print data.shape
我有数千个文件,通过使用此代码,我总是出现内存错误,因此我无法获得结果文件。 如何解决此错误? 如何按文件读取,写入和追加最终的numpy文件,?
答案 0 :(得分:1)
尝试查看np.memmap
。您可以实例化mainConstraintSet.connect(bottomLineView.getId(), ConstraintSet.TOP, bottomViewId, ConstraintSet.BOTTOM, (int) getResources().getDimension(R.dimen.margin_huge));
:
all_arrays
来自文档:
内存映射文件用于访问磁盘上的大段文件,而无需将整个文件读入内存。
您将能够访问所有阵列,但操作系统将负责加载您实际需要的部分。仔细阅读文档页面并注意,从性能的角度来看,您可以决定文件是按列还是按行存储。