NumPy 文件

文件是计算机存储设备中的一个容器,用于存储数据。

在 NumPy 的上下文中,文件可以被认为是用于在计算机存储设备中存储 NumPy 数组的容器。


保存单个 NumPy 数组文件

在 NumPy 中,我们使用 `save()` 函数将单个 NumPy 数组保存到 `.npy` 格式的二进制文件中。

以下是 `save()` 函数的语法。

np.save(file, array)
  • file - 指定文件名 (如果需要,包含路径)
  • array - 指定要保存的 NumPy 数组

现在,让我们看一个示例。

import numpy as np

array1 = np.array([[2, 4, 6], 
                  [8, 10, 12]])

# save the array to a file
np.save('file1.npy', array1)

在这里,我们将 NumPy 数组 array1 保存到我们当前目录的二进制文件 `file1.npy` 中。

注意: 如果文件名不包含 `.npy` 扩展名,它将被自动添加。


加载单个 NumPy 数组文件

在前面的示例中,我们将一个数组保存到了一个二进制文件中。现在我们将使用 `load()` 函数加载该保存的文件。

让我们看一个例子。

import numpy as np

# load the saved NumPy array
loaded_array = np.load('file1.npy')

# display the loaded array
print(loaded_array)

输出

[[ 2  4  6]
 [ 8  10 12]]

在这里,我们使用了 `load()` 函数来读取二进制文件 `file1.npy`。这是我们在上一个示例中使用 `save()` 函数创建和保存的同一个文件。


保存多个 NumPy 数组文件

要将多个 NumPy 数组保存到一个文件中,我们使用 `savez()` 函数。

`savez()` 函数与 `save()` 函数类似,但它可以一次性将多个数组保存到 `.npz` 格式的文件中。

以下是 `savez()` 函数的语法。

np.savez(file, *args, **kwds)
  • file - 要保存数组的文件名
  • *args - 要保存的数组列表 (逗号分隔)
  • **kwds - 用于给要保存的文件指定自定义名称的 关键字参数

现在,让我们看一个示例。

import numpy as np

# create two NumPy arrays
array1 = np.array([2, 6, 10])
array2 = np.array([4, 8, 12])

# save the two arrays into a single file
np.savez('file2.npz', file1 = array1, file2 = array2)

在此示例中,我们使用 `np.savez()` 函数将两个 NumPy 数组 array1array2 保存到名为 `file2.npz` 的单个文件中。

`file1` 和 `file2` 是使用关键字参数为数组指定的名称。

注意: 我们可以使用 `savez_compressed()` 将多个数组保存到压缩文件中。此函数与 `savez()` 类似,但使用压缩来减小保存文件的大小。


加载多个 NumPy 数组文件

在前面的示例中,我们将多个数组保存到了一个文件中。现在我们将使用 `load()` 函数加载该保存的文件。

import numpy as np

# load the saved arrays 
load_data = np.load('file2.npz')

# retrieve the arrays using their names
array1 = load_data['file1']
array2 = load_data['file2']

# display the loaded arrays
print(array1)
print(array2)

输出

[ 2  6 10]
[ 4  8 12]

在上面的示例中,我们首先使用 `np.load()` 函数从文件中加载保存的数组。

然后,我们通过数组名称 `file1` 和 `file2` (在前一个示例中提到) 来检索数组,形式为:`data['file1']` 和 `data['file2']`。

最后,我们显示了加载的数组。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战