我有 166600 个 numpy 文件,我想将它们放入一个 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)
最佳答案
如果我正确理解你的问题,你可以使用 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))
根据数组的形状和预期的串联,您可能需要指定 concatenate
的 axis
参数。
关于python - 如何将许多 numpy 文件逐个文件放入一个大 numpy 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42389870/