zoukankan      html  css  js  c++  java
  • NumPy数据存取与函数

      一、数据的CSV文件存取

      CSV文件:

      CSV(Comma-Separated Value,逗号分隔值)

      CSV是一种常见的文件格式,用来存储批量数据。

      将数据写入CSV文件的方法是savetxt

        np.savetxt(frame,array,fmt='%.18e',delimiter=None)

        frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。

        array:存入文件的数组。

        fmt:写入文件的格式,例如:%d %.2f %.18e(默认)

        delimiter:分割字符串,默认是任何空格。

    1 import numpy as np
    2 a = np.arange(100).reshape(5,20)
    3 np.savetxt("a.csv",a,fmt="%d",delimiter=",")

        CSV文件读入到NumPy中的数组中:

      np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)

      frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。

      dtype:数据类型,可选,默认np.float。

      delimiter:分割字符串,默认是任何空格。

      unpack:如果是True,读入属性将分别写入不同变量。

      CSV文件的局限性:

      CSV文件只能有效存储一维和二维数组

      np.savetxt()  np.loadtxt()只能有效存储一维和二维数组

      如何存取多维数组?

      a.tofile(frame,sep='',format='%s')

       frame:文件、字符串。

      sep:数据分割字符串,如果是空串,写入文件为二进制。

      format:写入数据的格式。

      np.fromfile(frame,dtype=float,count=-1,sep='')

      frame:文件、字符串。

      dtype:读取的数据类型。

      count:读入元素个数,-1表示读入整个文件。

        sep:数据分割字符串,如果是空串,写入文件为二进制。

     1 import numpy as np
     2 a = np.arange(100).reshape(5,10,2)
     3 a.tofile("b.dat",sep=",",format="%d")
     4 c = np.fromfile("b.dat",dtype=np.int,sep=",")
     5 print(c)
     6 c = np.fromfile("b.dat",dtype=np.int,sep=",").reshape(5,2,10)
     7 print(c)
     8 
     9 [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
    10  25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
    11  50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
    12  75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]
    13 [[[ 0  1  2  3  4  5  6  7  8  9]
    14   [10 11 12 13 14 15 16 17 18 19]]
    15 
    16  [[20 21 22 23 24 25 26 27 28 29]
    17   [30 31 32 33 34 35 36 37 38 39]]
    18 
    19  [[40 41 42 43 44 45 46 47 48 49]
    20   [50 51 52 53 54 55 56 57 58 59]]
    21 
    22  [[60 61 62 63 64 65 66 67 68 69]
    23   [70 71 72 73 74 75 76 77 78 79]]
    24 
    25  [[80 81 82 83 84 85 86 87 88 89]
    26   [90 91 92 93 94 95 96 97 98 99]]]

      该方法需要读取时知道存入文件时数组的维度和元素类型。

      a.tofile()和np.fromfile()需要配合使用

      可以通过元数据文件来存储额外信息

       NumPy的便捷文件存取:

      np.save(fname,array)np.savez(fname,array) (把文件以压缩的形式存取)

        frame:文件名,以.npy为扩展名,压缩扩展名为.npz

             array:数组变量

      np.load(fname)

        frame:文件名,以.npy为扩展名,压缩扩展名为.npz

        a.npy文件把源信息保存在第一行。

  • 相关阅读:
    C# DataGridView导出到Excel
    面试时,怎样“谈薪”?
    7月11号 列表类型的内置方法及应用
    6月1号 字符编码
    文件相关知识
    Django框架之第二篇app注册、静态文件配置、form表单提交、pycharm链接数据库、Django使用mysql数据库、表字段的增删改查、表数据的增删改查
    函数相关知识
    Django框架之第三篇(路由层)有名/无名分组、反向解析、路由分发、名称空间、伪静态、图书管理系统表设计
    初识Django
    Django框架之第五篇(模型层)单表操作(增删改查)、单表查询和必知必会13条、单表查询之双下划线、Django ORM常用字段和字段参数和关系字段
  • 原文地址:https://www.cnblogs.com/wxlblogs/p/7300461.html
Copyright © 2011-2022 走看看