Python-机器学习基础-Numpy

Numpy
  • Numpy优势
    • 定义
      • 开源的python科学计算库, 用于快速处理任意维度的数组 Numpy中,存储对象是ndarray
    • 创建
      • np.array([])
    • numpy的优势
      • 内存块风格
        • 一体式存储
      • 支持并行化运算
      • 效率高于python代码
        • 底层使用C,内部释放了GIL
  • N维数组-ndarray
    • ndarray的属性
      • ndarray.shape
        • 数组维度的元组
      • ndarray.ndim
        • 数组维度
      • ndarray.size
        • 数组中的元素数量
      • ndarray.itemsize
        • 一个数组元素的长度(字节)
      • ndarray.dtype
        • 数组元素的类型
    • ndarray的形状
      • np.array()
        • 三维数组
          • excel中有多个sheet
    • ndarray的类型
      • bool
      • int
      • float
      • str
      • ……
      • 注意:若不指定,整数默认int64,小数默认float64
  • 基本操作
    • 生成数组的方法
      • 生成0和1的数组
        • np.ones()
        • np.ones_like()
      • 从现有数组生成
        • np.array
          • 深拷贝
            • 相当于复制,不改变
        • np.asarray
          • 浅拷贝
            • 相当于创建快捷方式,改变
      • 生成固定范围数组
        • np.linspace()
          • nun--生成等间隔的多少个
        • np.arrange()
          • step--每间隔多少生成数据
        • np.logspace()
          • 生成以10的n次幂的数据
      • 生成随机数组
        • 均匀分布
          • np.random.uniform(low,high,size)
        • 正态分布
          • 均值,方差
          • 均值
            • 图像的左右位置
          • 方差
            • 图像的“瘦”,还是“胖”
            • 值越小,图形越“瘦高”,数据越集中 值越大,图形越“矮胖”,数据越分散
        • 正态分布API
          • np.random.normal(low,high,size)
    • 数组的索引、切片
      • 直接索引
      • 先对行进行索引,再进行列索引
      • 高维数组索引,从宏观到微观
    • 形状修改
      • 对象.reshape()
        • 不进行行列互换,产生新的变量
      • 对象.resize()
        • 不进行行列互换,对原值进行更改
      • 对象.T
        • 进行行列互换(转置矩阵)
    • 类型修改
      • 对象.astype()
    • 数组去重
      • np.unique()
  • ndarray运算
    • 逻辑运算
      • 大于,小于直接进行判断
      • 赋值:满足要求,直接进行赋值
    • 通用判断函数
      • np.all()
        • 所有满足要求,采返回True
      • np.any()
        • 只要有一个满足要求,就返回True
    • 三元运算符
      • np.where()
        • 满足要求,赋值第一个值,否则赋值第二个值
      • np.logical_and()
      • np.logical_or()
    • 统计运算
      • min
        • 最小值
      • max
        • 最大值
      • midian
        • 中位数
      • mean
        • 均值
      • std
        • 标准差
      • var
        • 方差
      • argmax
        • 最大值下标
      • argmin
        • 最小值下标
  • 矩阵
    • 矩阵和向量
      • 二维数组
      • 一维数组
    • 加法和标量乘法
      • 加法
        • 对应位置相加
      • 乘法
        • 标量和每个位置的元素相乘
    • 矩阵向量(矩阵)乘法
      • [M行,N列]*[N行,L列] = [M行,L列]
    • 矩阵乘法性质
      • 满足结合律,不满足交换律
    • 单位矩阵
      • 对角线为1,其他位置为0
    • 逆矩阵
      • 矩阵A * 矩阵B = 单位矩阵
    • 转置矩阵
      • 行列互换
  • 数组间运算
    • 数组和数字是直接可以进行运算
    • 数组和数组
      • 需要满足广播机制
        • 维度相同
        • shape对应的位置为1
    • 矩阵乘法API
      • np.dot
        • 点乘
      • np.matmul
        • 矩阵相乘
      • 注意:两者在进行矩阵相乘时候,没有区别; 但是,dot支持矩阵和数字相乘

原文地址:https://www.cnblogs.com/jsit-dj-it/p/13893292.html