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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: NumPy 高级教程——存储和加载数据【1月更文挑战第1篇】

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

目录
相关文章
|
3月前
|
Python
NumPy 教程 之 NumPy 矩阵库(Matrix) 4
矩阵是由行和列构成的矩形数组,其元素可以是数字、符号或数学表达式。
35 4
|
3月前
|
Python
NumPy 教程 之 NumPy 矩阵库(Matrix) 2
不同于ndarray,matlib函数生成的是矩阵形式。教程中详细解释了矩阵的概念,并介绍了转置矩阵的实现方式,使用T属性或函数实现。此外,还展示了如何利用`matlib.empty()`创建指定形状的新矩阵,并可选择数据类型及顺序。最后通过示例演示了矩阵填充随机数据的方法。
39 3
|
3月前
|
数据可视化 Python
NumPy 教程 之 NumPy Matplotlib 7
使用Python的绘图库Matplotlib与NumPy结合进行数据可视化,提供Matplotlib作为MatLab开源替代方案的有效方法,以及如何利用plt()函数将数据转换成直观的直方图示例。
44 11
|
3月前
|
Python
NumPy 教程 之 NumPy Matplotlib 6
Matplotlib 是一个强大的 Python 绘图库,能与 NumPy 协同工作,提供类似 MatLab 的开源替代方案,并支持 PyQt 和 wxPython 等图形工具包。通过 `numpy.histogram()` 函数示例,展示了如何创建数据频率分布图,该函数接受输入数组和 bin 参数,生成对应频率的直方图。示例代码及输出清晰展示了 bin 的边界与对应频率的关系。
35 11
|
3月前
|
Python
NumPy 教程 之 NumPy Matplotlib 4
使用 Python 的绘图库 Matplotlib,结合 NumPy,生成各种图形,作为 MatLab 的开源替代方案。您将学习到如何用 matplotlib 和 NumPy 包来创建正弦波图形,以及如何在同一图中利用 subplot() 函数组织和展示不同的子图,例如同时绘制正弦和余弦曲线。通过实际代码示例,加深对这些功能的理解。
48 12
|
3月前
|
Python
NumPy 教程 之 NumPy Matplotlib 3
使用Python的绘图库Matplotlib与NumPy结合,创建有效的MatLab开源替代方案。它还支持与PyQt和wxPython等图形工具包搭配使用。通过向`plot()`函数添加特定格式字符串,可以展示离散值而非线性图。提供了多种线型和标记选项,例如实线`-`、虚线`--`、点标记`.`等,以及颜色缩写如蓝色`b`、绿色`g`等。示例代码展示了如何用圆点表示数据点而非线条。
41 10
|
3月前
|
Python
NumPy 教程 之 NumPy Matplotlib 5
Matplotlib 是 Python 的绘图库,配合 NumPy 可作为 MatLab 的开源替代方案,并能与 PyQt 和 wxPython 等图形工具包共同使用。本教程重点讲解 `bar()` 函数用于生成条形图的方法,并通过实例展示了如何创建并显示两组数据的条形图。
39 7
|
3月前
|
存储 Python
NumPy 教程 之 NumPy IO 1
NumPy IO 教程介绍了如何使用 NumPy 读写文本及二进制数据。教程覆盖了 `.npy` 和 `.npz` 格式的文件操作,其中 `save()` 和 `load()` 函数用于单个数组的存取,而 `savez()` 则可以保存多个数组。文本文件处理则由 `loadtxt()` 和 `savetxt()` 完成。通过示例展示了 `numpy.save()` 函数的具体用法,并解释了其参数含义,如文件名、数组对象以及序列化选项等。
45 10
|
3月前
|
Serverless Python
NumPy 教程 之 NumPy 线性代数 7
NumPy 的 `linalg` 库提供了丰富的线性代数功能,如点积、矩阵乘法、求解线性方程等。`numpy.linalg.inv()` 用于计算矩阵的乘法逆矩阵,即找到满足 `AB=BA=E` 的矩阵 `B`,其中 `E` 是单位矩阵。示例展示了如何对矩阵 `A` 计算其逆矩阵 `A^(-1)` 并求解线性方程 `A^(-1)B`,得到向量 `[5, 3, -2]` 作为解。
56 10
|
3月前
|
索引 Python
NumPy 教程 之 NumPy 线性代数 4
NumPy 的线性代数库 `linalg` 提供了丰富的线性代数功能,如点积(`dot`)、向量点积(`vdot`)、内积(`inner`)、矩阵积(`matmul`)、行列式(`determinant`)、求解线性方程(`solve`)和矩阵逆(`inv`)。其中,`numpy.matmul` 用于计算两个数组的矩阵乘积,支持多维数组操作。
38 11

热门文章

最新文章