zoukankan      html  css  js  c++  java
  • Numpy (嵩老师)

    主题思想
      摘要:有损地去数据特征的过程
        基本统计(含排序)
        分步/累计统计
        数据特征
        相关性,周期性等
        数据挖掘(形成知识)
     
      IPython的%魔术命令
        %magic 显示所有魔术命令
        %hist IPython命令的输入历史
        %db 异常发生后自动进入调试器
        %reset 删除当前命名空间中的全部变量或名称
        %who 显示Ipython当前命令空间中已经定义的变量
        %time statement 给出代码的执行时间,statement表示一段代码
        %timeit statement 多次执行代码,计算综合平均执行时间
     
     
      NumPy
        是一个开源的python科学计算基础库
        一个强大的N维数组对象ndarray
        广播功能函数
        整合C/C++/Fortran代码的工具
        线性代数,傅里叶变换,随机数生成等功能
         是SciPy,Pandas等数据处理或科学计算库的基础
    import numpy as np
    def
    npSum(): # 要想的是:a 跟 b 是一个数据 a = numpy.array([1,2,3,4,5]) b = numpy.array([6,7,8,9,0]) c = a**2 + b**3 return c print(npSum())
    N维数组对象: ndarray
      数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据
      设置专门的数组对象,经过优化,可以提升这类应用的运算速度
     
      观察:科学计算中,一个维度所有数据的类型往往相同
        数组对象采用相同的数据类型,有助于节省运算和存储空间
     
      ndarray是一个多维数组对象,由两部分构成:
        实际的数据
        描述这些数据的元数据(数据维度,数据类型等)
      ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始
     
    s = numpy.array([[0,1,2,3,4],[9,8,7,6,5]])
    print(s)
      numpy.array()生成一个ndarray数组
      ndarray在程序中的别名是array
      numpy.array()输出成[]形式,元素有空格分割
     
      轴(axis):保存数据的维度
      秩(rank):轴的数量

    排序

    # 排序
    s.sort()

     切片

    #数组[起始小标:最终下标+1]
    y = np.array([1,5,9,6,4,3])
    a = s[1:3] # 1-2
    
    # [5,9]
    ndarray对象的属性
      .ndim 秩,即轴的数量或维度的数量
      .shape ndarray对象的尺度,对于矩阵,n行m列
      .size ndarray对象的元素的个数,相当于。shape中n*m的值
      .dtype ndarray对象的元素类型
      .itemsize ndarray对象中每个元素的大小,以字节为为单位
     
     
    ndarray的元素类型
      bool 布尔类型,True或False
      intc 与C语言中的int类型一致,一般是int32或int64
      intp 用于索引的整数,与C语言中ssize_t一致,int32或int64
      int8 字节长度的整数,取值:[-128,127]
      int16 16位长度的整数,取值:[-32768,32767]
      int32 31位长度的整数,取值:[-2*32,2*32-1]
      int64 64位长度的整数,取值:[-2*63,2*63-1]
     
      uint8 8位无符号整数,取值:[0,255]
      uint16 16位无符号整数,取值:[0,65535]
      uint32 32位无符号整数,取值:[0,2*32-1]
      uint64 64位无符号整数,取值:[0,2*64-1]
      float16 16位半精度浮点数:1位符号位,5位指数,10尾数
      float32 32位半精度浮点数:1位符号位,8位指数,23尾数
      float64 64位半精度浮点数:1位符号位,11位指数,52尾数
     
      complex64 复数类型,实部和虚部都是32位浮点数
      complex128 复数类型,实部和虚部都是64位浮点数
        实部(.real) + j虚部(.imag)
     
      ndarray为什么支持这么多种元素类型?
        对比:python语法仅支持整数,浮点数和复数3种类型
        科学计算涉及数据较多,对存储和性能都有较高要求
        对元素类型精细定义,有助于NumPy合理使用存储空间并优化性能
        对元素类型精细定义,有助于程序员对程序规模有合理评估
     
    x = numpy.array([[0,1,2,3,4],[9,8,7,6]])
      ndarray数组可以由非同质对象构成
      非同质ndarray元素为对象类型
      非同质ndarray对象无法有效发挥Nu,Py优势,尽量避免使用
    x.shape
    # 返回 (2,) 没有更进一步的分析
    x.dtype
    #返回 dtype('o') o 是对象类型
  • 相关阅读:
    值类型、引用类型作为方法参数如何执行,ref与out的区别
    asp.net 常用 验证正则表达式
    ASP.NET的错误处理机制
    MSSQL与MYSQL区别
    http协议状态码对照表
    EF 跨数据库支持
    请求管道中的19个事件
    一位软件工程师的6年总结本人读了深受启发,献给所有从事IT开发的人 [转载]
    Windows 窗体的.Net 框架绘图技术
    Windows Live Messenger 8.5 去广告方法及资源文件
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/9895320.html
Copyright © 2011-2022 走看看