• Numpy学习


    1.Numpy介绍

    Numpy(Numerical Python) 是一个开源的Python科学计算库, 用于快速处理任意维度的数组。
    Numpy支持常见的数组和矩阵操作。 对于同样的数值计算任务, 使用Numpy比直接使用Python要简洁的多。
    Numpy使用ndarray对象来处理多维数组, 该对象是一个快速而灵活的大数据容器。

    2 ndarray介绍

    NumPy提供了一个N维数组类型ndarray, 它描述了相同类型的“items”的集合。
    生成numpy对象:np.array()

    在这里插入图片描述

    3 ndarray的优势

    • 内存块风格
      • list – 分离式存储,存储内容多样化
      • ndarray – 一体式存储,存储类型必须一样
    • ndarray支持并行化运算(向量化运算)
    • ndarray底层是用C语言写的,效率更高,释放了GIL

    4 N维数组-ndarray

    4.1 ndarray的属性

    在这里插入图片描述

    4.2 ndarray的形状

    首先创建一些数组。

    # 创建不同形状的数组
    >>> a = np.array([[1,2,3],[4,5,6]])
    >>> b = np.array([1,2,3,4])
    >>> c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])
    
    • 1
    • 2
    • 3
    • 4

    分别打印出形状

    >>> a.shape
    >>> b.shape
    >>> c.shape
    
    • 1
    • 2
    • 3

    (2, 3) # 二维数组
    (4,) # 一维数组
    (2, 2, 3) # 三维数组

    4.3 ndarray的类型

    在这里插入图片描述
    在这里插入图片描述

    5.数组的基本操作

    5.1 生成数组的方法

    5.1.1 生成0和1的数组

    在这里插入图片描述

    5.1.2 从现有的数组中生成

    在这里插入图片描述
    注意这里array 和asarray的区别

    5.1.3 生成固定范围的数组

    • 创建等差数组 — 指定数量
    • 参数:
      • start:序列的起始值
      • stop:序列的终止值
      • num:要生成的等间隔样例数量, 默认为50
      • endpoint:序列中是否包含stop值, 默认为ture

    在这里插入图片描述

    5.1.4 生成随机数组

    5.1.4.1 正态分布

    • np.random.normal(loc=0.0, scale=1.0, size=None)
      loc: float
      此概率分布的均值( 对应着整个分布的中心centre)
      scale: float
      此概率分布的标准差( 对应于分布的宽度, scale越大越矮胖, scale越小, 越瘦高)
      size: int or tuple of ints
      输出的shape, 默认为None, 只输出一个值

    举例1: 生成均值为1.75, 标准差为1的正态分布数据, 100000000个

    在这里插入图片描述

    5.1.4.2 均匀分布

    • np.random.uniform(low=0.0, high=1.0, size=None)
      功能: 从一个均匀分布[low,high)中随机采样, 注意定义域是左闭右开, 即包含low, 不包含high.
      参数介绍:
      low: 采样下界, float类型, 默认值为0;
      high: 采样上界, float类型, 默认值为1;
      size: 输出样本数目, 为int或元组(tuple)类型, 例如, size=(m,n,k), 则输出mnk个样本, 缺省时输出1个值
      在这里插入图片描述
      在这里插入图片描述

    5.2 数组的索引、 切片

    一维、 二维、 三维的数组如何索引?

    • 直接进行索引,切片
    • 对象[:, :] – 先行后列

    二维数组索引方式:

    • 举例: 获取第一个股票的前3个交易日的涨跌幅数据
    # 二维的数组, 两个维度
    stock_change[0, 0:3]
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.3 形状修改

    在这里插入图片描述
    在这里插入图片描述

    5.4 类型修改

    在这里插入图片描述
    在这里插入图片描述

    5.5 数组的去重

    在这里插入图片描述

    6 ndarray 运算

    6.1 逻辑运算

    在这里插入图片描述
    在这里插入图片描述

    6.2 通用判断函数

    在这里插入图片描述

    6.3 三元运算符

    在这里插入图片描述

    6.4 统计运算

    在这里插入图片描述

    6.5 数组间的运算

    在这里插入图片描述

    6.6 矩阵运算

    • np.matmul
    • np.dot
      在这里插入图片描述
  • 相关阅读:
    【SQL】MySQL中的存储引擎、事务、锁、日志
    orm连接mysql
    安装python扩展库
    linux 中普通用户能够执行 ping 命令的机关
    UEFI之HOB详解
    Arduino驱动ADXL345三轴加速度传感器(惯性测量传感器篇)
    Vue学习
    Python——第6章 Numpy库的使用
    第七章 网络安全 | 计算机网络(谢希仁 第八版)
    常见的噪声:高斯、泊松和椒盐噪声
  • 原文地址:https://blog.csdn.net/ZgaoYi/article/details/126217086