NumPy——数组函数与方法_数组文件的输入与导出

除了提供多维数组对象 ndarrary 、高效的数组操作函数和方法外, NumPy 还支持磁盘文本或二进制数据的读写操作。

NumPy 提供了两个主要的函数,分别用于将 ndarray 写入磁盘和从磁盘中读入保存的数组数据文件。

默认情况下,数组会以未压缩的二进制格式保存在文件扩展名为.npy 的文件中。

import numpy as np
arr1 = np.random.randn(10)#创建数组
arr2 = np.random.randn(10)
arr_res = arr1 + arr2   #操作数组
np.save('result',arr_res)#保存结果数组

np.save 函数的第一个参数是一个文件名(可以包含指定路径),第二个参数是要保存的数组。如果用户没有指定文件扩展名, NumPy 会在实际保存时将.npy 加上。

这样数据就被保存到了计算机磁盘上,当要导入该数据时,只需要调用 np.load() 函数并传入文件路径。

print(np.load('result.npy'))
[-1.33242934  0.73556038 -3.04189124  0.56008649 -1.78524622 -0.50861518
 -0.05455277  1.5992195   1.00237467 -0.35313544]

Process finished with exit code 0

在实际进行数组操作时往往会产生多个需要保存的数据结果,np.savez()函数可以将多个 ndarray 保存到二进制文件中。与 np.save()一样,该函数需要的第一个参数,也是保存的文似名,但以.npz 作为文件扩展名,后面的参数可以是任意多个用户指定的关键字参数

np.savez('array_save.npz',input1=arr1,input2=arr2,result=arr_res)

如果直接将其导入,返回的结果是一个不可查看的 NpzFile 对象。

我们需要将其赋值给一个变量,然后通过保存时设定的关键字参数进行索引来查看单个的数组数据。

arr_save = np.load('array_save.npz')
print(arr_save['input1'])
print(arr_save['input2'])
print(arr_save['result'])
[ 0.11244526 -0.42884189  0.48171799  0.32363178 -0.08604794  1.23202834
  1.54497946 -1.00225433 -0.32122562  0.43749743]
[-0.45032818 -1.77074314  0.19227229 -0.22110498  1.15122975  1.74181983
  0.24011982  0.30892127  0.62247801 -0.56791777]
[-0.33788292 -2.19958503  0.67399027  0.1025268   1.06518182  2.97384818
  1.78509928 -0.69333306  0.30125239 -0.13042034]

Process finished with exit code 0

上述保存的文件都是未压缩的,如果需要将数据压缩,不妨使用 np.savez_compressed()函数,该函数的使用方与np.savez()一致。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值