Numpy简易教程7——读写文件
在使用NumPy处理数据时,常常需要将数据从文件中读取或者将数据保存到文件中。NumPy提供了一些函数用于实现这些功能。本教程将重点介绍如何使用NumPy读写文件。
1. numpy.savetxt(函数:
numpy.savetxt(函数用于将数组保存到文本文件中。该函数的语法如下:
参数说明:
- fname:保存文件的名称或文件对象。
-X:要保存到文件中的数组。
- fmt:输出的格式,默认为'%.18e',即科学计数法。
- delimiter:数据之间的分隔符,默认为空格。
- newline:行之间的分隔符,默认为换行符。
- header:文件头部的字符串。
- footer:文件尾部的字符串。
以下是一个保存一维和二维数组的例子:
```python
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
numpy库入门教程基础知识总结np.savetxt('', arr1, fmt='%d')  # 保存一维数组到文件
np.savetxt('', arr2, fmt='%.2f')  # 保存二维数组到文件
```
上述代码会生成两个文本文件,内容如下:
```
```
```
1.002.003.00
4.005.006.00
```
可以看到,'fmt'参数定义了输出的格式,如果数组中含有浮点数,可以用'%.2f'表示保留两位小数。
2. numpy.loadtxt(函数:
numpy.loadtxt(函数用于从文本文件中加载数据到数组中。该函数的语法如下:
参数说明:
- fname:要读取的文件名或文件对象。
- dtype:数据类型,默认为浮点数。
- delimiter:分隔符,默认为None,表示使用空白字符分隔。
- converters:函数或者字典,用于将文件中的每一列值转换为数组元素。默认为None。
- skiprows:跳过文件的前几行,默认为0,表示不跳过。
- usecols:要加载到数组的列索引,默认为None,表示加载所有列。
- unpack:如果为True,将数组的列解包到多个变量中,默认为False。
- ndmin:指定新创建的数组的最小维度,默认为0。
- encoding:指定文件的编码,默认为'bytes'。
以下是一个从文件中加载数据的例子:
```python
import numpy as np
arr1 = np.loadtxt('', dtype=int)  # 从文件加载数据,数据类型为整型
arr2 = np.loadtxt('', delimiter=' ', usecols=(0, 2))  # 从文件加载第1列和第3列的数据
print(arr1)
print(arr2)
```
上述代码会输出以下结果:
```
[12345]
[[1.3.]
[4.6.]]
```
可以看到,'usecols'参数定义了加载哪些列的数据,使用元组指定列索引即可。
3. numpy.load(和numpy.save(函数:
numpy.save(函数用于将数组保存到二进制文件中,numpy.load(函数用于从二进制文件中加载数据。这两个函数可以保存和加载numpy数组对象。
以下是一个保存和加载数组的例子:
```python
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
np.save('arr1.npy', arr1)  # 保存arr1到arr1.npy文件
np.save('arr2.npy', arr2)  # 保存arr2到arr2.npy文件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。