Numpy用于数组的文件输入输出

这一章比较简单,内容也比较少。而且对于文件的读写,还是使用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]:

 

posted @ 2018-04-06 13:51  左手十字  阅读(1405)  评论(0编辑  收藏  举报