Nmupy之输入和输出
numpy二进制文件
函数save() ,savez() 和 load()是专用保存和读取二进制类型,均都能处理ndim、的type、shape等信息,但是save()输出的文件很难与其他语言兼容。
格式介绍:1,npy格式:二进制的方式存储文件,在二进制文件第一行以文本的形式保存了数据的信息(ndim,dtype,shape)
2,npz格式:将文件压缩保存,可以用解压文件解压。
eg:
对于保存多个数组到同一个文件,可以用numpy.savez()函数。
eg.
文本文件
函数savetxt(),loadtxt()和genfromtxt()可以用来存储和读取文本文件(如txt,csv格式等)。其中genfromtxt()可以对缺失数据进行处理。
1,savetxt(file,x,fmt =‘%.18e’,delimiter = ’ ’ ,newline = ‘\n’,header = ’ ‘,footer = ’ ’ ,encoding = None):flie:路径,x:要存的数组,fmt:写入文件的格式,默认是’%.18e’ , delimiter:分割字符串,默认是空格分隔。
2,numpy.loadtxt(file ,dtype = float ,comments = ‘#’,delimiter = None ,converters = None,skiprow = 0)#选一些常用的关键字,剩下的看详细教程。file:路径,dtype:数据类型,默认是float。skiprow:跳过多少行,通常是第一行,即0.
3,genfromtxt()是面对结构数组和缺失数据处理的。
用法:numpy.genfromtxt(fname, dtype=float, comments=’#’, delimiter=None, skip_header=0,
skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None,
names=None, excludelist=None,deletechars=’’.join(sorted(NameValidator.defaultdeletechars)), replace_space=’_’,autostrip=False, case_sensitive=True, defaultfmt=“f%i”, unpack=None, usemask=False,loose=True, invalid_raise=True, max_rows=None, encoding=‘bytes’)其中names:设置为True时,程序把一行设为列的名称
文本格式
numpy.set_printoptions(precision=None,threshold=None, edgeitems=None,linewidth=None,
suppress=None, nanstr=None, infstr=None,formatter=None, sign=None, floatmode=None,
**kwarg)
记录可能需要的,precision:设置浮点精度,控制输出的小数点个数,默认8;
suppress:当suppress = False,小数以科学计数法输出,默认是False。
课后作业
1,如何只打印numpy的三位小数点:
法一,利用print(np.around(rand_arr ,3))
法二,直接设置精度np.set_printoptions(precision=3)
2,设置打印项数。
np.set_printoptions(threshold=6)
3,打印数组不中断。
就是讲打印项数设置为最大吧
np.set_printoptions(threshold = np.iinfo(np.int).max)