python - 如何将许多 numpy 文件逐个文件放入一个大 numpy 文件中?

标签 python numpy

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

根据数组的形状和预期的串联,您可能需要指定 concatenateaxis 参数。

关于python - 如何将许多 numpy 文件逐个文件放入一个大 numpy 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42389870/

相关文章:

python - 如何使Keras网络不输出全1

Python:re 模块替换字典中的值

python - Matlab 中的高效矩阵乘法

python-具有阶跃响应的卷积

python - numpy:使用更多观察值更新最小二乘法的代码

python - 在 ctypes 中使用指向其自身类型的指针进行结构化

python - 尝试在 Mac OSX Lion 上安装 pylibmc 时出错

python - 从Python中的字典中删除无关的值

python - 从 numpy 数组中删除元素时跟踪删除的索引

python - 使用 h5py 一次将多维结构化 numpy 数组写入 hdf5 一个字段会引发 numpy 广播错误