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

Posted 左手十字

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]:

 

以上是关于Numpy用于数组的文件输入输出的主要内容,如果未能解决你的问题,请参考以下文章

Keras 错误:无法将符号 Keras 输入/输出转换为 numpy 数组

numpy 学习总结

python工具——NumPy

python工具——NumPy

Python / numpy:对数组的n个元素求和的最有效方法,以便每个输出元素是前n个输入元素的总和?

Numpy - 从数组中切片二维行或列向量