Numpy:将Numpy数组存储为文件并加载
在本文中,我们将介绍如何将Numpy数组保存到文件中并在需要时加载它们。尤其是在机器学习和图像处理中,经常需要存储大量的数据集和数组,因此一个有效的存储和加载方案变得十分必要。
阅读更多:Numpy 教程
存储Numpy数组
Numpy提供了多种方法来将数组存储为文件,其中最常用的是使用np.save()
和np.savez()
函数。这两个函数都允许我们将一个或多个数组以二进制形式保存在一个文件中。
np.save()
np.save()
函数需要两个参数:文件路径和要保存的数组。例如,将一个一维的Numpy数组保存到路径为data.npy
的文件中:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
np.save('data.npy', arr)
现在,arr
被保存在一个.npy
文件中。我们可以用np.load()
函数来加载它:
new_arr = np.load('data.npy')
print(new_arr)
输出结果应该为:
[1 2 3 4 5]
np.savez()
np.savez()
函数比np.save()
函数更加灵活,它可以保存多个数组,并且为每个数组指定一个名字。例如,保存两个数组到路径为data.npz
的文件中:
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])
np.savez('data.npz', arr1=arr1, arr2=arr2)
接下来,我们可以用np.load()
函数来加载这两个数组:
data = np.load('data.npz')
arr1 = data['arr1']
arr2 = data['arr2']
print(arr1)
print(arr2)
输出结果应该为:
[1 2 3 4 5]
[ 6 7 8 9 10]
加载Numpy数组
当我们需要使用保存在文件中的Numpy数组时,我们可以用np.load()
函数来加载数组。np.load()
函数需要指定要加载的文件的路径。例如,我们要加载上一节保存的data.npy
文件中的Numpy数组,代码如下:
new_arr = np.load('data.npy')
print(new_arr)
输出结果和上一节中的一样:
[1 2 3 4 5]
如果我们要加载data.npz
文件,只需要稍微修改一下代码:
data = np.load('data.npz')
arr1 = data['arr1']
arr2 = data['arr2']
print(arr1)
print(arr2)
输出结果也和上一节中的一样:
[1 2 3 4 5]
[ 6 7 8 9 10]
总结
在本文中,我们介绍了如何使用Numpy将数组保存到文件并在需要时加载它们。使用np.save()
和np.savez()
函数可以轻松地将一个或多个数组保存为二进制格式的文件,并用np.load()
函数加载需要的数组。这使得在机器学习和图像处理等领域中处理大量数据变得更加容易。