这一章比较简单,内容也比较少。而且对于文件的读写,还是使用pandas比较好。numpy主要是读写文本数据和二进制数据的。
将数组以二进制的格式保存到硬盘上
主要的函数有numpy.save和numpy.load。默认情况下,数组是以未压缩的二进制保存为.npy的文件。
In [1]: import numpy as np In [2]: arr = np.arange(10) In [3]: arr Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [4]: np.save("some_array",arr) In [5]: load_arr = np.load('some_array.npy') In [6]: load_arr Out[6]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
将多个数组保存到一个压缩文件,用到的函数为numpy.savez
加载压缩文件后,会得到一个类似字典的对象,该对象对数值进行延迟加载。
# 数组可以用关键字参数,关键字可以做为加载字典的key,不写的话,key为数组名_索引号 In [7]: np.savez('some_array_achive.zip',arr,arr) In [8]: arch=np.load("some_array_achive.zip.npz") In [14]: arch['arr_0'] Out[14]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
存取文本文件
函数为savetxt和loadtxt,delimiter用于指定分隔符。
In [17]: arr = np.loadtxt("C:/Users/Administrator/Desktop/pydata-book-2nd-edition/pydata-book-2nd-edition/examples/arra ...: y_ex.txt",delimiter=',') In [18]: arr Out[18]: array([[ 0.580052, 0.18673 , 1.040717, 1.134411], [ 0.194163, -0.636917, -0.938659, 0.124094], [-0.12641 , 0.268607, -0.695724, 0.047428], [-1.484413, 0.004176, -0.744203, 0.005487], [ 2.302869, 0.200131, 1.670238, -1.88109 ], [-0.19323 , 1.047233, 0.482803, 0.960334]]) In [19]: