美文网首页
3.5Python数据处理篇之Numpy系列(五)---nump

3.5Python数据处理篇之Numpy系列(五)---nump

作者: 张一根 | 来源:发表于2019-03-10 08:59 被阅读0次

    目录:

    [TOC]

    目录:

    1.以文本形式存取

    2.以任意的形式存取

    3.以np自定义的形式存取

    (一)以文本形式存取

    1.说明:

    (1)适用范围:存储一维,二维数组

    (2)局限性:不能存储多维数组

    2.语法解释:

    (1)写文件

    从数组到文件

    np.savetxt(frame,array,fmt="%1.8e",delimiter=None)
    frame -> 文件名,字符串
    array -> 数据的来源,数组
    fmt   ->写入的格式
    delimiter ->分隔符
    

    (2)读文件

    从文件到数组

    np.loadtxt(frame,dtype=np.float,delimiter=None)
    frame -> 数据的来源,文件名,字符串
    dtype -> 数据读取的格式类型
    delimiter ->分隔符
    

    3.实例(以.csv文件为例)

    import numpy as np
    # 生成一个数组
    a = np.arange(100).reshape(5,20)
    # 写入到文件
    np.savetxt('a.csv',a,fmt="%2d",delimiter=',')
    # 读取到数组变量
    b = np.loadtxt('a.csv',dtype=np.float,delimiter=',')
    print(b)
    

    csv文件是一种常用的数据存储方式,可以用excel操作,分隔符是用逗号。

    4.效果展示

    01.png

    (二)以任意的形式存取

    1.说明:

    适用范围:可以是任意种文件类型.txt .bat .csv .dot

    局限性:丢失了数据的维度信息,按顺序存储数据。

    2.语法解释:

    (1)写文件

    a.tofile(frame,sep='',format='%s')
    a ->数组
    frame ->文件名,字符串
    sep ->分隔符,空串或默认是写入的是二进制文件
    format ->写入的格式
    

    (2)读文件

    np.fromfile(frame,dtype=np.float,count=-1,sep='')
    frame ->文件名,字符串
    dtype ->读出的格式
    count ->读出的数个数,索引
    sep ->分隔符
    返回值:数组
    

    3.实例(以.bat二进制文件为例)

    # 导入numpy
    import numpy as np 
    # 生成数组
    a = np.arange(100).reshape(5,10,2)
    # 写入文件
    a.tofile("b_b.bat",sep=",",format="%2d")
    # 读出文件
    c = np.fromfile("b.dat",dtype=np.int,sep="").reshape(5,2,10)
    print(c)
    

    二进制的文件,分割符必须是空串,其优势是占用内存小

    4.效果展示

    (1)二进制文件:

    02.png

    (二)文本文件:

    03.png

    (三)以np自定义的形式存取

    1.说明:

    适用范围:任意维度的数组

    局限性:必须以numpy自定义的文件格式,而且是二进制文件。

    2.语法解释:

    (1)写文件

    np.save(fname,array)
    fname -> 文件名称,以普通格式.npy和压缩格式.npz为后缀名
    array ->数组
    

    (2)读文件

    np.load(fname)
    fname -> 文件名,以普通格式.npy和压缩格式.npz为后缀名
    返回值:存储时的数组。
    

    3.实例:

    import numpy as np
    a = np.arange(10000).reshape(10,10,100)
    # writer file 
    np.save("01.npy",a)
    np.savez("01.npz",a)
    # read file
    b = np.load("01.npy")
    c = np.load("01.npz")
    print(b)
    print(c)
    

    4.实例展示

    04.png

    相关文章

      网友评论

          本文标题:3.5Python数据处理篇之Numpy系列(五)---nump

          本文链接:https://www.haomeiwen.com/subject/nmaypqtx.html