本文介绍: NumPy 提供了灵活而强大的工具,使得存储和加载数据变得简单而高效。通过使用这些功能,你可以轻松地在不同步骤和项目之间传递数据,从而更好地组织和管理你的数据科学工作。希望本篇博客能够帮助你更好地理解和运用 NumPy 中的数据存储和加载功能。
Python NumPy 高级教程:存储和加载数据
在实际应用中,数据的存储和加载是数据科学和机器学习工作流程中不可或缺的一部分。NumPy 提供了用于将数组保存到文件以及从文件中加载数组的功能。在本篇博客中,我们将深入介绍 NumPy 中的存储和加载数据的操作,并通过实例演示如何使用这些功能。
1. 存储数据
1.1 保存为文本文件
可以使用 np.savetxt 将数组保存为文本文件。
import numpy as np
# 创建示例数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 保存为文本文件
np.savetxt('array_data.txt', arr, delimiter=',')
1.2 保存为二进制文件
使用 np.save 或 np.savez 将数组保存为二进制文件。
# 保存为二进制文件
np.save('array_data.npy', arr)
# 保存为压缩的二进制文件(.npz)
np.savez('array_data.npz', arr=arr)
2. 加载数据
2.1 从文本文件加载数据
使用 np.loadtxt 从文本文件加载数据。
# 从文本文件加载数据
loaded_data = np.loadtxt('array_data.txt', delimiter=',')
print(loaded_data)
2.2 从二进制文件加载数据
使用 np.load 从二进制文件加载数据。
# 从二进制文件加载数据
loaded_data_binary = np.load('array_data.npy')
print(loaded_data_binary)
2.3 从压缩的二进制文件加载数据
使用 np.load 从压缩的二进制文件(.npz)加载数据。
# 从压缩的二进制文件加载数据
loaded_data_compressed = np.load('array_data.npz')['arr']
print(loaded_data_compressed)
3. 控制保存和加载的参数
3.1 保存和加载数据时指定参数
可以通过指定不同的参数来控制保存和加载的行为,例如设置文件格式、精度、数据类型等。
# 保存为文本文件,指定精度和格式
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)
4. 多个数组的存储和加载
可以使用 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)
5. 总结
NumPy 提供了灵活而强大的工具,使得存储和加载数据变得简单而高效。通过使用这些功能,你可以轻松地在不同步骤和项目之间传递数据,从而更好地组织和管理你的数据科学工作。希望本篇博客能够帮助你更好地理解和运用 NumPy 中的数据存储和加载功能。
原文地址:https://blog.csdn.net/weixin_46178278/article/details/135400360
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_51740.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。