我有166600个numpy文件,我想将它们放入一个numpy文件中:file by file, 我的意思是我的新大文件的创建必须从头开始:第一个文件必须在文件中读取和写入,因此大文件只包含第一个文件,之后我需要读取和写入第二个文件,所以大文件包含前两个文件。
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)
答案 0 :(得分:2)
如果我正确理解您的问题,您可以使用numpy.concatenate
:
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 = []
for i, npfile in enumerate(npfiles):
all_arrays.append(np.load(os.path.join(npyfilespath, npfile)))
np.save(fpath, np.concatenate(all_arrays))
根据数组的形状和预期的连接,您可能需要指定axis
的{{1}}参数。