NumPy 高级教程——存储和加载数据

举报
Echo_Wish 发表于 2024/01/05 08:50:52 2024/01/05
【摘要】 Python NumPy 高级教程:存储和加载数据在实际应用中,数据的存储和加载是数据科学和机器学习工作流程中不可或缺的一部分。NumPy 提供了用于将数组保存到文件以及从文件中加载数组的功能。在本篇博客中,我们将深入介绍 NumPy 中的存储和加载数据的操作,并通过实例演示如何使用这些功能。 1. 存储数据 1.1 保存为文本文件可以使用 np.savetxt 将数组保存为文本文件。im...

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 中的数据存储和加载功能。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。