python - 如何从文件夹中读取多个numpy数组

标签 python numpy

我的文件夹中有多个 numpy 数组 (.npy)。有没有办法在Python中自动读取所有这些内容?或者我需要手动输入他们的名字吗?我找不到与从 Python 文件夹中读取多个 numpy 数组相关的信息。

最佳答案

您可以使用glob 获取与指定*.npy 模式匹配的所有.npy 文件。 glob.glob 返回路径名列表,glob.iglob 返回迭代器,而不是同时存储所有路径名(如果您有大量文件,这将很有用)。这是一个小例子:

代码:

import os
import glob
import numpy as np


# Let's create folder
folder = './np_arrays'
try: 
    os.mkdir(folder)
except OSError: 
    print('Folder exists!')

# Some dummy arrays
a = np.zeros((1, 5))
b = np.ones((1, 5))

# Save them as .npy to the created folder
np.save(os.path.join(folder, 'a'), a)
np.save(os.path.join(folder, 'b'), b)

# Getting all the numpy arrays .npy files based on matching pattern (*.npy)
file_paths = glob.glob(os.path.join(folder, '*.npy'))
print(file_paths)

# Import arrays from folder and store them as a dict
array_dict = {os.path.basename(f)[0]: np.load(f) for f in file_paths}
print(array_dict)

输出:

['./np_arrays/a.npy', './np_arrays/b.npy']
{'a': array([[0., 0., 0., 0., 0.]]), 'b': array([[1., 1., 1., 1., 1.]])}

关于python - 如何从文件夹中读取多个numpy数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57281817/

相关文章:

python - 如何在PyQt5中横向打印?

python - 如何在按某些条件查询后更改 pandas DataFrame 值

python - 拟合派生 Python 的约束

python - 如何使用 scipy stats 打印线方程

python - python中的多项式回归模型

python - list(numpy_array) 和 numpy_array.tolist() 之间的区别

python - 如何使用 mysql.connector 从 MySQL 返回 str?

python - 导入错误 : cannot import name weave

Python:如何从2个数组中找到唯一的元素模式?

循环遍历大型 numpy 整数数组时 Python 内存溢出,一次性转换