numpy中以文本的方式存储以及读取数据方法

yipeiwu_com6年前Python基础

Numpy中除了能够把数据以二进制文件的方式保存到文件中以外,还可以选择把数据保存到文本文件中。如果我有磁盘存储的需要,我一般会选择文本的存储,因为后期的处理工具会有更多的选择。

文本存储数据文件可以采用savetxt的功能,而相应文件的加载可以采用loadtxt的功能。与二进制存储不同,savetxt的功能不会自动追加扩展名。

接下来做简单的操作练习示范:

In [15]: arr1 =rand(5,4)
 
In [16]: arr1
Out[16]:
array([[0.21349492, 0.77993282, 0.37269246, 0.70599725],
 [ 0.74004045, 0.64697716, 0.49489394, 0.94005934],
 [ 0.89902693, 0.43021685, 0.29623512, 0.4259565 ],
 [ 0.00146385, 0.7619464 , 0.2764662 , 0.00896728],
 [ 0.17746182, 0.81107356, 0.13140944, 0.12808611]])
 
In [17]:np.savetxt('data.txt',arr1)

通过以上操作,数组的信息被存储到了data.txt文件中。可以通过其他的文本编辑器或者其他处理工具进行编辑修改。以文本形式对文件直接进行查看结果如下:

C:\Users\ThinkPad\Desktop>typedata.txt
2.134949194782667092e-017.799328187516920696e-01 3.726924550593806451e-01 7.059972531846898658e-01
7.400404474495648754e-016.469771552354630639e-01 4.948939386825553788e-01 9.400593405075502451e-01
8.990269288143762916e-014.302168497691762905e-01 2.962351210526772416e-01 4.259564974067475696e-01
1.463850064000737916e-037.619464016912527171e-01 2.764661957409741966e-01 8.967282719944846825e-03
1.774618247314488917e-018.110735600283927038e-01 1.314094418012348164e-01 1.280861102265743456e-01

文件的加载:

In [22]: new_arr =np.loadtxt('data.txt')
 
In [23]: new_arr
Out[23]:
array([[0.21349492, 0.77993282, 0.37269246, 0.70599725],
 [ 0.74004045, 0.64697716, 0.49489394, 0.94005934],
 [ 0.89902693, 0.43021685, 0.29623512, 0.4259565 ],
 [ 0.00146385, 0.7619464 , 0.2764662 , 0.00896728],
 [ 0.17746182, 0.81107356, 0.13140944, 0.12808611]])

存储的数据文件可以通过加载的方式重新用以创建数组对象,为了验证存储与读取的一致性,做一下检查如下:

In [25]: arr1 ==new_arr
Out[25]:
array([[True, True, True, True],
 [ True, True, True, True],
 [ True, True, True, True],
 [ True, True, True, True],
 [ True, True, True, True]], dtype=bool)

从上面可以看出,读取回来的数据跟原来有着等价效果。

以上这篇numpy中以文本的方式存储以及读取数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python使用zip将list转为json的方法

zip()函数将可迭代对象作为参数,并打包成元组,返回的是一个个zip对象,可以使用list或dict转换返回结果,使用*zip可以将打包的对象分解成列表 >>>...

Windows下安装Scrapy

Windows下安装Scrapy

这几天正好有需求实现一个爬虫程序,想到爬虫程序立马就想到了python,python相关的爬虫资料好像也特别多。于是就决定用python来实现爬虫程序了,正好发现了python有一个开源...

python format 格式化输出方法

0、前言 在python2.7及以上的版本,str.format()的方式为格式化提供了非常大的便利。与之前的%型格式化字符串相比,他显得更为方便与优越。下面我们就来看看format的具...

Python字符串大小写转换拼接删除空白

1.字符串大小写转换 string.title() #将字符串中所有单词的首字母以大写形式显示 string.upper() #将字符串中所有字母转化为大写字母 stri...

python将一组数分成每3个一组的实例

如下所示: a = [1,2,3,4,5,6,7,8,9,10,11] step = 3 b = [a[i:i+step] for i in range(0,len(a),step)...