详解 NumPy 从磁盘上保存(save)和加载(load)数组

yizhihongxing

NumPy中,可以使用numpy.save()和numpy.load()方法将数组保存到磁盘中,或从磁盘中加载数组。

接下来将逐一介绍这两个方法。

numpy.save()方法

numpy.save(file, arr, allow_pickle=True, fix_imports=True)方法可以将数组保存到磁盘文件中。它的参数包括:

  • file: 保存数组的文件名或文件对象;
  • arr: 要保存的数组;
  • allow_pickle(可选):布尔值,表示是否允许使用pickle序列化对象,默认为True;
  • fix_imports(可选):布尔值,表示是否修复Python2中的导入问题,默认为True。

例如,将数组保存到名为my_array.npy的文件中:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
np.save('my_array.npy', arr)

numpy.load()方法

numpy.load(file, mmap_mode=None, allow_pickle=True, fix_imports=True, encoding='ASCII')方法可以从磁盘文件中加载数组。它的参数包括:

  • file: 要加载的文件名或文件对象;
  • mmap_mode(可选):内存映射选项,如果给定,则返回memmap对象;
  • allow_pickle(可选):布尔值,表示是否允许使用pickle序列化对象,默认为True;
  • fix_imports(可选):布尔值,表示是否修复Python2中的导入问题,默认为True;
  • encoding(可选):当读取文本数据时使用的编码,例如CSV文件。

例如,从名为my_array.npy的文件中加载数组:

import numpy as np

arr = np.load('my_array.npy')
print(arr)

输出:

[1 2 3 4 5]

存储多个数组

另外,如果要存储多个数组,可以使用savez和savez_compressed函数。savez函数将多个数组保存到一个未压缩的.npz文件中,而savez_compressed函数将它们保存到一个压缩的.npz文件中。

下面是一个使用savez函数保存多个数组的示例:

import numpy as np

# 创建多个数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.array([7, 8, 9])

# 将这些数组保存到一个 .npz 文件中
np.savez('my_arrays.npz', a=a, b=b, c=c)

上面的代码将创建三个数组,并将它们保存到一个名为my_arrays.npz的未压缩的文件中。在保存期间,每个数组都使用一个指定的名称来标识。

要加载这些数组,可以使用load函数,如下所示:

# 从 .npz 文件中加载数组
loaded_data = np.load('my_arrays.npz')

# 获取每个数组
a = loaded_data['a']
b = loaded_data['b']
c = loaded_data['c']

上面的代码将从my_arrays.npz文件中加载数组,并将它们分配给变量a,b和c。

需要注意的是,load函数返回一个类似字典的对象,它可以通过数组的名称来访问数组数据。

除了.npz格式之外,NumPy还支持其他几种文件格式,例如.npy和.npz文件可以通过numpy.save和numpy.load函数进行保存和加载。.npy文件可以保存单个数组,而.npz文件可以保存多个数组,这与save和load函数的行为相同。需要注意的是,这些文件格式仅适用于NumPy数组。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解 NumPy 从磁盘上保存(save)和加载(load)数组 - Python技术站

(1)
上一篇 2023年3月4日 上午8:40
下一篇 2023年3月4日

相关文章

  • Python numpy实现数组合并实例(vstack,hstack)

    以下是关于“Python numpy实现数组合并实例(vstack,hstack)”的完整攻略。 numpy中的数组合并 在numpy中,可以使用vstack()和hstack()函数将多个数组合成一个数组。 vstack()函数用于将多个数组按垂直方向(行)堆叠起来,即将多个数组按行方向拼接成一个更大的数组。 hstack()函数用于将多个数组按水平方向(…

    python 2023年5月14日
    00
  • 使用虚拟环境打包python为exe 文件的方法

    在Python中,我们可以使用虚拟环境来打包Python为exe文件,以便在没有Python环境的计算机上运行Python程序。本文将详细讲解如何使用虚拟环境打包Python为exe文件,并提供两个示例说明。 安装依赖 在使用虚拟环境打包Python为exe文件之前,我们需要安装以下依赖: pyinstaller:用于将Python程序打包为exe文件。 v…

    python 2023年5月14日
    00
  • keras 读取多标签图像数据方式

    Keras读取多标签图像数据方式 在深度学习中,多标签分类是一种常见的任务。在处理多标签图像数据时,我们一种有效的方式来读取和处理数据。本文将介绍使用Keras读取多标签图像数据的方法。 方法一:使用ImageDataGenerator Keras提供了一个ImageDataGenerator类,可以便地读取和处理图像数据。以下是一个使用ImageDataG…

    python 2023年5月14日
    00
  • pip matplotlib报错equired packages can not be built解决

    1. pip安装matplotlib报错 在使用pip命令安装matplotlib库时,可能会遇到以下错误: ERROR: Failed building wheel for matplotlib 这个错误通常是由于缺少依赖项或环境配置不正确导致的。 2. 解决方法 2.1 安装依赖项 在安装matplotlib之前,需要先安装一些依赖项。可以使用以下命令安…

    python 2023年5月14日
    00
  • 解决Linux Tensorflow2.0安装问题

    解决Linux Tensorflow 2.0安装问题 Tensorflow是一个非常流行的深度学习框架,但在Linux系统上安装Tensorflow 2.0时可能会遇到一些问题。本文将详细讲解如何解决Linux Tensorflow 2.0安装问题,并提供两个示例说明。 1. 安装依赖 在安装Tensorflow 2.0之前,需要先安装一些依赖。可以使用以下…

    python 2023年5月14日
    00
  • pytorch查看网络参数显存占用量等操作

    下面是针对pytorch查看网络参数显存占用量等操作的完整攻略。 1. 查看网络参数总量 为了查看神经网络的参数总量,我们可以使用 torchsummary 库中的 summary 函数。该函数可以打印出我们定义的模型结构及其参数量等相关信息。 首先,我们需要在命令行中使用 pip 安装 torchsummary 库: pip install torchsu…

    python 2023年5月13日
    00
  • pytorch下大型数据集(大型图片)的导入方式

    当处理大型数据集时,使用适当的数据导入方式是非常重要的,可以提高训练速度和效果。在PyTorch中,我们可以使用以下方式导入大型数据集(例如大型图片数据集): 使用torchvision.datasets.ImageFolder torchvision包提供了许多实用的函数和类,其中ImageFolder就是处理大型图片数据集的一种方法。该方法将数据集按照类…

    python 2023年5月13日
    00
  • python中找出numpy array数组的最值及其索引方法

    在数据分析和科学计算中,NumPy是一个非常重要的Python库。NumPy提供了一些用于数学计算和科学计算的函数和结构。在NumPy中,我们使用一些函数来查找数组的最大值、最小值以及它们索引。本文将详细讲解“Python中找出NumPy数组的最值及其索引方法”的完整攻略,包括步骤和示例。 步骤 使用NumPy查找数组的最大值、最值其索引的步骤如下: 导入N…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部