如何将多个numpy文件放在一个大的numpy文件中,逐个文件?

时间:2017-02-22 11:22:22

标签: python numpy

我有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)

1 个答案:

答案 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}}参数。