Python Numpy中数据的常用保存与读取方法

  

在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为<代码> Numpy 格式,然后直接使用Numpy去读取,速度相比为转化前快很多。

  

下面就常用的保存数据到二进制文件和保存数据到文本文件进行介绍:

  

  
  

numpy.save      

保存一个数组到一个二进制的文件中,保存格式是.npy

  

参数介绍

  
  

numpy。保存(文件、arr allow_pickle=True, fix_imports=True)
  文件:文件名/文件路径
  加勒比海盗:要存储的数组
  allow_pickle:布尔值,允许使用Python泡菜保存对象数组(可选参数,默认即可)
  fix_imports:为了方便Pyhton2中读取Python3保存的数据(可选参数,默认即可)

     

<强>使用

        在在在进口numpy np   #生成数据   在在在x=np.arange (10)   在在在x   数组([0,1,2,3,4,5,6,7,8,9))      #数据保存   在在在np.save (save_x, x)      #读取保存的数据   在在在np.load (“save_x.npy”)   数组([0,1,2,3,4,5,6,7,8,9))   numpy.savez      

这个同样是保存数组到一个二进制的文件中,但是厉害的是,它可以保存多个数组到同一个文件中,保存格式是.npz,它其实就是多个前面<代码> np.save>   

参数介绍

  
  

numpy。知道我(文件、* args * * kwds)
  文件:文件名/文件路径
  * args:要存储的数组,可以写多个,如果没有给数组指定键,Numpy将默认从‘arr_0’,‘arr_1’的方式命名
  kwds:(可选参数,默认即可)

     

<强>使用

        在在在进口numpy np   #生成数据   在在在x=np.arange (10)   在在在x   数组([0,1,2,3,4,5,6,7,8,9))   在在在y=np.sin (x)   在在在y   数组([0。,0.84147098,0.90929743,0.14112001,-0.7568025,   -0.95892427,-0.2794155,0.6569866,0.98935825,0.41211849)      #数据保存   在在在np.save (save_xy, x, y)      #读取保存的数据   在在在npzfile=np.load (“save_xy.npz”)   在在在npzfile #是一个对象,无法读取   & lt; numpy.lib.npyio。在0 x7f63ce4c8860> NpzFile对象;      #按照组数默认的关键进行访问   在在在npzfile (“arr_0”)   数组([0,1,2,3,4,5,6,7,8,9))   在在在npzfile (“arr_1”)   数组([0。,0.84147098,0.90929743,0.14112001,-0.7568025,   -0.95892427,-0.2794155,0.6569866,0.98935825,0.41211849])      

更加神奇的是,你可以不适用Numpy默认给数组的关键,而是自己给数组有意义的关键,这样就可以不用去猜测自己加载数据是否是自己需要的。

        #数据保存   在在在np.savez (newsave_xy, x=x, y=y)      #读取保存的数据   在在在npzfile=np.load (“newsave_xy.npz”)      #按照保存时设定组数键进行访问   在在在npzfile [' x ']   数组([0,1,2,3,4,5,6,7,8,9))   在在在npzfile [y]   数组([0。,0.84147098,0.90929743,0.14112001,-0.7568025,   -0.95892427,-0.2794155,0.6569866,0.98935825,0.41211849])      

简直不能太爽,深度学习中,有时候你保存了训练集,验证集,测试集,还包括他们的标签,用这个方式存储起来,要啥加载啥,文件数量大大减少,也不会到处改文件名去。

  
  

numpy.savez_compressed      

这个就是在前面<代码> numpy.savez>   

注:函数所需参数和<代码> numpy.savez 一致,用法完成一样。

  

  
  

numpy.savetxt      

保存数组到文本文件上,可以直接打开查看文件里面的内容。

  

参数介绍

  
  

numpy。savetxt(帧,X, fmt=' %。18 e,分隔符=' ',换行符=' \ n ',头=?页脚="评论=' # ',编码=None)
  帧:文件名/文件路径,如果文件后缀是. gz,文件将被自动保存为.gzip格式,np。loadtxt可以识别该格式

Python Numpy中数据的常用保存与读取方法