Python数据分析与可视化------NumPy第三方库

目录

数据的维度

NumPy

CSV文件

多维数据的存取

NumPy的便捷式文件截取

NumPy的随机数函数子库

NumPy的统计函数

NumBy的梯度函数

图像的数组表示

图像的变换


数据的维度

  • 维度:
    • 一组数据的组织形式
    • 一维数据
      • 由对等关系的有序或无序数据构成,采用线性方式组织
      • 列表和集合类型
      • 列表和数组
        • 数组
          • 数据类型相同     
        • 列表
          • 数据类型可以不同
        • 一组数据的有序结构
    • 二维数据
      • 由多个一维数据构成,是一维数据的组合形式
      • 列表类型
      • 表格
    • 多维数据
      • 由一维数据或多维数据在新维度的扩展
      • 列表类型
    • 高维数据
      • 仅用最基本的二元关系展示数据间的复杂结构
      • 字典类型或数据表示格式

NumPy

  • NumPy是一个开源的Python科学计算基础库
    • 一个强大的N维数组对象 ndarray
    • 广播功能函数
    • 整合C/C++/Fortran代码的工具
    • 线性代数,傅里叶变换,随机数生成等功能
  • NumPy引用:
    • import numpy as np
  • N维数组对象 ndarray
    • 传统:for循环
    • import numpy as np
      def npSum():
          a = np.array([0,1,2,3,4])
          b = np.array([9,8,7,6,5])
      
          c = a**2 + b**3
          return c
      print(npSum())

    • 一个维度所有数据的类型往往相同,数组对象采用相同的数据类型,有助于节省运算和存储空间

      • 一般要求所有元素类型相同(同质),数组下标从0开始

    • ndarray由两部分构成

      • 实际数据

      • 描述这些数据的元数据(数据维度,数据类型)

    • 实例

      • np.array() 生成一个ndarray数组

      • ndarray在程序中的别名是:array

      • np.array() 输出成[]形式,元素由空格分隔

      • axis轴:数据维度

      • rank秩:轴的数量

    • ndarray对象的属性

      • Python数据分析与可视化------NumPy第三方库_第1张图片

    • ndarray的元素类型

      • Python数据分析与可视化------NumPy第三方库_第2张图片

      •  Python数据分析与可视化------NumPy第三方库_第3张图片

    • ndarray数组的创建方法
      • 从Python中列表,元组等类型创建
        • x=np.array(list/tuple)
        • x=np.array(list/tuple,dtype=np.float32)
        • 列表类型创建 元组类型创建 列表元组混合创建
      • 使用NumPy中函数创建
        • Python数据分析与可视化------NumPy第三方库_第4张图片
        • Python数据分析与可视化------NumPy第三方库_第5张图片
        • Python数据分析与可视化------NumPy第三方库_第6张图片
        • Python数据分析与可视化------NumPy第三方库_第7张图片
        • Python数据分析与可视化------NumPy第三方库_第8张图片
      • ndarray数组的变换
        • 维度变换
          • Python数据分析与可视化------NumPy第三方库_第9张图片
          • Python数据分析与可视化------NumPy第三方库_第10张图片
          • Python数据分析与可视化------NumPy第三方库_第11张图片
        • 元组类型变换
      • 从字节流创建
      • 从文件中读取特定格式
    • ndarray数组的操作
      • 数组的索引和切片
        • 索引
          • 获取数组中特定位置元素的过程
        • 切片
          • 获取数组元素子集的过程
    • ndarray数组的运算
      • Python数据分析与可视化------NumPy第三方库_第12张图片
      • Python数据分析与可视化------NumPy第三方库_第13张图片
      • Python数据分析与可视化------NumPy第三方库_第14张图片

CSV文件

  • CSV(Comma-Separated Value,逗号分隔值)
  • CSV是一种常见的文件格式,用来存储批量数据
  • 格式
    • np.savetxt(frame,array,fmt='%.18e',delimiter=None)
    • frame:文件,字符串或产生器,可以是.gz或.bz2的压缩文件
    • array:存入文件的数组
    • fmt:写入文件的格式,如:%d %.2f %.18e
    • delimiter:分隔字符串,默认是任何空格
  • 例子:
    • a = np.arange(100).reshape(5,20)
      np.savetxt('a.csv',a,fmt = '%d',delimiter=',')
    • ​​ Python数据分析与可视化------NumPy第三方库_第15张图片
  • 格式
    • np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)
    • frame:文件,字符串或产生器,可以是.gz或.bz2的压缩文件
    • dtype:数据类型,可选
    • delimiter:分隔字符串,默认是任何空格
    • unpack:如果True,读入属性将分别写入不同变量
  • 例子
    • b = np.loadtxt('a.csv',delimiter = ',')
  •  CSV文件的局限性
    • CSV只能有效存储一维和二维数组
    • np.savetxt() np.loadtxt() 只能有效存取一维和二维数组

多维数据的存取

  • a.tofile(frame,sep='',format='%s')     
    • 没有维度信息,将元素逐一列出
    • 二进制文件比文本文件占用更小的空间
  • np.fromfile(frame,dtype=float,count=-1,sep='')
    • frame:文件,字符串
    • dtype:读取的数据类型
    • count:读取元素个数,-1表示读入整个文件
    • sep:数据分割字符串,如果是空串,写入文件为二进制

NumPy的便捷式文件截取

  • np.save(frame,array)或np.savez(fname,array)
    • frame:文件名,以.npy为扩展名,压缩扩展名为,npz
    • array:数组变量
  • np.load(fname)
    • fname:文件名,以.npy为扩展名,压缩扩展名为,npz

NumPy的随机数函数子库

  • np.random的随机数函数
    • Python数据分析与可视化------NumPy第三方库_第16张图片
    • Python数据分析与可视化------NumPy第三方库_第17张图片
    • Python数据分析与可视化------NumPy第三方库_第18张图片

NumPy的统计函数

  • Python数据分析与可视化------NumPy第三方库_第19张图片
  • Python数据分析与可视化------NumPy第三方库_第20张图片

NumBy的梯度函数

图像的数组表示

  • RGB色彩模式
    • 取值范围:
      • 都是0-255
  • PIL库
    • from PIL import Image
      • Image是PIL库中代表一个图像的类(对象)
  • 图像是一个由像素组成的二维数组,每个元素是一个RGB值

图像的变换

 

 

 

你可能感兴趣的:(python,python)