这里讨论一下在进行数值计算中,对计算数据的保存和加载。
1. 文本格式
这种方式可以采用文本的方式保存numpy数组,函数原型如下:
numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ',
newline='\n', header='', footer='', comments='# ', encoding=None)
其中fname是文件名称,如果文件名以.gz结尾,numpy会 自动将其作为gzip文件压缩,X是需要保存的数组,fmt是保存的格式,delimiter是数据之间的分隔符,newline是换行符,header和footer是放在数据之前和之后的注释,而comment则是注释的引导符,默认为#,这也是Python中的注释符。例如保存一个多维数组,代码如下:
a=np.linspace(1,2,5)
np.savetxt('test.txt',a,header='header of array',
footer='footer of array',encoding='utf-8')
输出文件test.txt内容为:
# header of array
1.000000000000000000e+00
1.250000000000000000e+00
1.500000000000000000e+00
1.750000000000000000e+00
2.000000000000000000e+00
# footer of array
加载这种保存的文档使用loadtxt,函数原型为:
numpy.loadtxt(fname, dtype=<class 'float'>, comments='#',
delimiter=None, converters=None, skiprows=0, usecols=None,
unpack=False, ndmin=0, encoding=None, max_rows=None, *,
quotechar=None, like=None)
fname是文件名,如果后缀是.gz或者.bz2,文件会被先解压,另外需要注意的是加载时comments、delimiter和encoding务必要和前面存盘时保持一致,如果前面存盘时都保持默认值,可以只提


被折叠的 条评论
为什么被折叠?



