• 技术文章 >后端开发 >Python教程

    Numpy数组应该怎么保存与读取

    php中世界最好的语言php中世界最好的语言2018-04-09 15:53:22原创2009
    这次给大家带来Numpy数组应该怎么保存与读取,Numpy数组保存与读取的注意事项有哪些,下面就是实战案例,一起来看一下。

    1. 数组以二进制格式保存

    np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为npy的文件中,以数组a为例

    np.save("filename.npy",a)
    b = np.load("filename.npy")

    利用这种方法,保存文件的后缀名字一定会被置为.npy

    2. 存取文本文件

    使用 np.savetxt 和 np.loadtxt 只能读写 1 维和 2 维的数组

    np.savetxt:将数组写入以某种分隔符隔开的文本文件中

    np.loadtxt:指定某种分隔符,将文本文件读入到数组中

    np.savetxt("filename.txt",a)
    b = numpy.loadtxt("filename.txt", delimiter=',')

    3. 保存为二进制文件

    使用数组的 tofile 函数可以方便地将数组中数据以二进制的格式写进文件

    a.tofile("filename.bin")
    b = np.fromfile("filename.bin",dtype = **)

    该方法与np.save有几点区别:

    tofile函数只能将数组保存为二进制文件,文件后缀名没有固定要求。这种保存方法对数据读取有要求,np.fromfile 需要手动指定读出来的数据的的dtype,如果指定的格式与保存时的不一致,则读出来的就是错误的数据。

    tofile函数不能保存当前数据的行列信息,不管数组的排列顺序是C语言格式的还是Fortran语言格式,统一使用C语言格式输出。因此使用 np.fromfile 读出来的数据是一维数组,需要利用reshape指定行列信息。

    例如下面的例子所示:

    >>> a = np.arange(0,12)
    >>> a.shape = 3,4
    >>> a
    array([[ 0, 1, 2, 3],
        [ 4, 5, 6, 7],
        [ 8, 9, 10, 11]])
    >>> a.tofile("a.bin")
    >>> b = np.fromfile("a.bin", dtype=np.float) # 按照float类型读入数据
    >>> b # 读入的数据是错误的
    array([ 2.12199579e-314,  6.36598737e-314,  1.06099790e-313,
         1.48539705e-313,  1.90979621e-313,  2.33419537e-313])
    >>> a.dtype # 查看a的dtype
    dtype('int32')
    >>> b = np.fromfile("a.bin", dtype=np.int32) # 按照int32类型读入数据
    >>> b # 数据是一维的
    array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
    >>> b.shape = 3, 4 # 按照a的shape修改b的shape
    >>> b
    array([[ 0, 1, 2, 3],
        [ 4, 5, 6, 7],
        [ 8, 9, 10, 11]])

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    Python Numpy如何操作数组和矩阵

    Python实现求解最大公约数的方法

    以上就是Numpy数组应该怎么保存与读取的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Numpy 保存 怎么
    上一篇:Python Numpy如何操作数组和矩阵 下一篇:numpy数组与矩阵的乘法怎么使用
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 实例讲解Python批量修改文件名• Python实例详解pdfplumber读取PDF写入Excel• 归纳总结Python中的装饰器知识点• python中API调用的详解与示例• 手把手教你在Python使用plot()函数画图
    1/1

    PHP中文网