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

本文介绍如何使用Numpy将数组数据保存为文本文件,并演示了savetxt和loadtxt函数的具体应用,验证了存储与读取数据的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       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)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值