numpy学习——输入与输出
本次学习主要讨论了numpy中二进制文件、文本文件、文本格式选项的输入与输出,着重针对实际相关函数进行了学习。
1、numpy二进制文件
输入、输出相关函数:
save()
savez()
load()
上述函数以 numpy 专用的二进制类型(npy、npz)保存和读取数据,这三个函数会自动处理ndim、dtype、shape等信息,使用它们读写数组非常方便,但是save()输出的文件很难与其它语言编写的程序兼容。
npy格式:以二进制的方式存储文件,在二进制文件第一行以文本形式保存了数据的元信息(ndim,dtype,shape等),可以用二进制工具查看内容。
npz格式:以压缩打包的方式存储文件,可以用压缩软件解压。
函数使用表达:
numpy.save(file, arr, allow_pickle=True, fix_imports=True) Save an array to a binary file in NumPy .npy format.
numpy.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding='ASCII') Load arrays or pickled objects from .npy, .npz or pickled files.
函数使用表达:
numpy.savez(file, *args, **kwds) Save several arrays into a single file in uncompressed .npz format
```python
#将多个数组保存到一个文件,可以使用numpy.savez()函数。
import numpy as np
outfile = r'.\test.npz'
x = np.linspace(0, np.pi, 5)
y = np.sin(x)
z = np.cos(x)
np.savez(outfile, x, y, z_d=z)
data = np.load(outfile)
np.set_printoptions(suppress=True)
print(data.files)
print(data['arr_0'])
print(data['arr_1'])
print(data['z_d'])
2、文本文件
savetxt(),loadtxt()和genfromtxt()函数用来存储和读取文本文件(如TXT,CSV等)。genfromtxt()比loadtxt()更加强大,可对缺失数据进行处理。
函数使用表达:
savetxt()
numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)