NumPy IO:理解load, save, savez, loadtxt, savetxt
版权申诉
66 浏览量
更新于2024-09-07
收藏 91KB PDF 举报
"NumPy提供了多种IO功能,用于在磁盘上读取和写入文本数据或二进制数据。这些功能主要围绕npy文件格式,这是NumPy专门为ndarray设计的一种存储格式。npy文件包含了数组的数据、形状、数据类型等信息,确保数据能够被准确地重建。此外,NumPy还支持.npz格式,用于存储多个数组。
1. numpy.save()函数:此函数用于将一个数组以未压缩的二进制格式保存到.npy文件中。文件名参数`file`可以是包含或不包含.npy扩展名的字符串,如果没有提供扩展名,它会被自动添加。`allow_pickle`参数允许保存对象数组,而`fix_imports`参数则帮助在Python 2和Python 3之间兼容。
示例代码:
```python
import numpy as np
a = np.array([1, 2, 3, 4, 5])
np.save('outfile.npy', a) # 保存到outfile.npy
np.save('outfile2', a) # 如果不指定.npy,也会自动加上
```
2. numpy.load()函数:与save()相对应,load()用于从.npy文件中加载数组。它能够正确解析由save()保存的二进制数据,并恢复为原始的ndarray。
示例代码:
```python
b = np.load('outfile.npy')
print(b) # 输出:[1 2 3 4 5]
```
3. numpy.savez()函数:这个函数允许将多个数组保存到一个单一的.npz文件中,文件扩展名是必需的。所有数组作为位置参数(*args)或关键字参数(**kwds)传递。
示例代码:
```python
np.savez('multiarrays.npz', arr1=a, arr2=b) # 保存两个数组到multiarrays.npz
```
要加载.npz文件中的数组,可以使用`load()`函数,它会返回一个字典样式的对象,其中键对应于保存时使用的变量名。
示例代码:
```python
data = np.load('multiarrays.npz')
print(data['arr1']) # 输出:[1 2 3 4 5]
print(data['arr2']) # 输出:加载的第二个数组
```
4. numpy.loadtxt()和numpy.savetxt()函数:这两个函数分别用于读取和写入普通的文本文件,如.txt。loadtxt()可以解析逗号分隔值(CSV)或其他分隔符的数据,而savetxt()则将数组转换为文本格式并写入文件。
示例代码:
```python
c = np.loadtxt('data.txt') # 读取文本文件
np.savetxt('output.txt', a) # 将数组a保存为文本文件
```
通过这些IO函数,NumPy使得在内存和磁盘之间高效地传输和存储大量数据变得非常便捷。无论是单个还是多个数组,或者文本数据,NumPy都提供了简洁且强大的工具来处理。在处理大型数据集时,这些功能尤其有用,因为它们可以避免不必要的内存压力,并且由于它们的二进制格式,数据读写速度通常比纯文本格式快得多。"
2022-09-21 上传
2018-08-15 上传
2023-06-13 上传
2023-08-02 上传
2023-05-15 上传
2023-05-09 上传
2023-07-09 上传
2023-06-01 上传
2023-05-25 上传
普通网友
- 粉丝: 89
- 资源: 5
最新资源
- 51单片机驱动DS1302时钟与LCD1602液晶屏万年历设计
- React 0.14.6版本源码分析与组件实践
- ChatGPT技术解读与应用分析白皮书
- 米-10直升机3D模型图纸下载-3DM格式
- Tsd Music Box v3.02:全面技术项目源码资源包
- 图像隐写技术:小波变换与SVD数字水印的Matlab实现
- PHP图片上传类源码教程及资源下载
- 掌握图像压缩技术:Matlab实现奇异值分解SVD
- Matlab万用表识别数字仪表教程及源码分享
- 三栏科技博客WordPress模板及丰富技术项目源码资源下载
- 【Matlab】图像隐写技术的改进LSB方法源码教程
- 响应式网站模板系列:右侧多级滑动式HTML5模板
- POCS算法超分辨率图像重建Matlab源码教程
- 基于Proteus的51单片机PWM波频率与占空比调整
- 易捷域名查询系统源码分享与学习交流平台
- 图像隐写术:Matlab实现SVD数字水印技术及其源码