python - 如何将多个 .npy 文件加载到单个 numpy 数组中

标签 python arrays numpy save load

我想加载多个 numpy 文件并将它们放入数组中,如下所示 ["file1.npy","file2.npy","file3.npy",......] 对此应用 pca 降维数组。

如有任何帮助,我们将不胜感激

代码

k=1
for indexPatient in range(0, len(patients)): 
    interictalData_withoutpca=np.concatenate((interictalData, tmpData[0:22,start*256:end]), axis=1)
    x=np.array(interictalData_withoutpca)
    y=np.save('interictalData_matrix'+str(k)+'_'+patients[indexPatient]+'_'+str(l),x)
    k+=1

最佳答案

最简单的方法是:

filenames = ["file1.npy", "file2.npy", "file3.npy"]
combined_data = np.array([np.load(fname) for fname in filenames])

这要求每个文件中存储的数组具有相同的形状;否则你会得到一个对象数组而不是多维数组。

如果数据量很大并且您知道数据的形状,例如 (n1, n2),则预分配数据会更有效(在速度和内存方面):

combined_data = np.zeros((len(filenames), n1, n2))
for i, fn in enumerate(filenames):
   combined_data[i, :, :] = np.load(fn)

另外,请注意,生成数据的代码可以变得更加Pythonic:

for k, patient in enumerate(patients, start=1):
    idata = np.concatenate((interictalData, tmpData[0:22, start*256:end]), axis=1)
    np.save(f'interictalData_matrix{k}_{patient}_{l}.npy', idata)  

关于python - 如何将多个 .npy 文件加载到单个 numpy 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62500644/

相关文章:

python - numpy 中的递归减法

Python 字符串到其他类

python - 从 Power BI 服务中的 Matplotlib 图形中消除空白边距

ios - UIButton 从 Core Data 增加一个数组,从另一个类完成

python - Python行检测

python - numpy:将标量函数应用于不同矩阵的相应元素

python - 如何从 GML 文件中提取数据

python - sqlalchemy 全外连接

javascript - 循环数组数组并将值递增到新数组中

php - 如何仅回显我的 $row 的索引