在实际应用中,数据的存储和加载是数据科学和机器学习工作流程中不可或缺的一部分。NumPy 提供了用于将数组保存到文件以及从文件中加载数组的功能。在本篇博客中,我们将深入介绍 NumPy 中的存储和加载数据的操作,并通过实例演示如何使用这些功能。
可以使用 np.savetxt 将数组保存为文本文件。
import numpy as np
# 创建示例数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 保存为文本文件
np.savetxt('array_data.txt', arr, delimiter=',')
使用 np.save 或 np.savez 将数组保存为二进制文件。
# 保存为二进制文件
np.save('array_data.npy', arr)
# 保存为压缩的二进制文件(.npz)
np.savez('array_data.npz', arr=arr)
使用 np.loadtxt 从文本文件加载数据。
# 从文本文件加载数据
loaded_data = np.loadtxt('array_data.txt', delimiter=',')
print(loaded_data)
使用 np.load 从二进制文件加载数据。
# 从二进制文件加载数据
loaded_data_binary = np.load('array_data.npy')
print(loaded_data_binary)
使用 np.load 从压缩的二进制文件(.npz)加载数据。
# 从压缩的二进制文件加载数据
loaded_data_compressed = np.load('array_data.npz')['arr']
print(loaded_data_compressed)
可以通过指定不同的参数来控制保存和加载的行为,例如设置文件格式、精度、数据类型等。
# 保存为文本文件,指定精度和格式
np.savetxt('array_data_custom.txt', arr, delimiter=',', fmt='%.2f', header='Custom Format')
# 从文本文件加载数据,指定数据类型
loaded_data_custom = np.loadtxt('array_data_custom.txt', delimiter=',', dtype=int)
print(loaded_data_custom)
可以使用 np.savez 存储多个数组,并使用 np.load 加载这些数组。
# 存储多个数组
np.savez('multiple_arrays.npz', arr1=arr, arr2=arr*2)
# 加载多个数组
loaded_multiple_arrays = np.load('multiple_arrays.npz')
arr1_loaded = loaded_multiple_arrays['arr1']
arr2_loaded = loaded_multiple_arrays['arr2']
print(arr1_loaded)
print(arr2_loaded)
NumPy 提供了灵活而强大的工具,使得存储和加载数据变得简单而高效。通过使用这些功能,你可以轻松地在不同步骤和项目之间传递数据,从而更好地组织和管理你的数据科学工作。希望本篇博客能够帮助你更好地理解和运用 NumPy 中的数据存储和加载功能。