图解入门Numpy

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: NumPy 是一个运行速度非常快的数学库,主要用于数组计算。NumPy中最核心的数据结构是ND array,表示N维数组。数组中的数据类型要统一大规模的数学运算时,运行速度快提供了很多数据运算的函数比如平均值和标准差等等深度学习中为啥经常用到numpy?轻松处理大数据深度学习的模型通常需要处理非常大的数据,比如图像、音频、文本等。这些数据通常会用数组或矩阵表示。NumPy让这些数据的处理变得很简单,因为它提供了一个叫做“ndarray”的数组,能够快速存储和操作这些数据。

  image.gif

numpy 的介绍

      NumPy 是一个运行速度非常快的数学库,主要用于数组计算

NumPy中最核心的数据结构是ND array,表示N维数组

特点:

        数组中的数据类型要统一

        大规模的数学运算时,运行速度快

        提供了很多数据运算的函数比如平均值和标准差等等

深度学习中为啥经常用到numpy?

轻松处理大数据

     深度学习的模型通常需要处理非常大的数据,比如图像、音频、文本等。这些数据通常会用数

组或矩阵表示。NumPy让这些数据的处理变得很简单,因为它提供了一个叫做“ndarray”的数组,

能够快速存储和操作这些数据。而且它可以方便地做切片、索引等操作,帮助我们轻松获取和修改

数据。

与深度学习框架兼容

      现在很多深度学习框架(比如TensorFlow、PyTorch)都在背后使用NumPy。虽然这些框架也

有自己的数据结构(比如张量),但是它们通常和NumPy数组可以直接转换,也就是说你可以在

深度学习框架和NumPy之间自由转换数据,甚至用NumPy做一些小的计算和调试。


numpy数组初识

image.gif

numpy数组简单创建

数据是数组的形式:

    你平时看到的很多数据,像图片、音频、文本等,其实都可以看作是数组。比如,图片就是由

一个个像素点组成的,而这些像素点可以用三维数组来表示。学习如何用NumPy创建数组,就是

学会如何处理这些数据。

image.gif

通过arry函数创建数组(一维、二维、三维)

image.gif

image.gif

image.gif

numpy数组常用属性

image.gif

.shape数组的形状,使用频率最高

.ndim数组的维数,使用频率一般

.astype数组的数据类型,也比较常用

image.gif

numpy数组轴的概念

                            可以把轴理解为第几个维度

image.gif


numpy数组创建

image.gif

等间隔数组

image.gif

以下两个函数只能创建一维数组。

np.arange(): 按照给定的步长根据起点和终点生成一维数组

np.linspace(): 按照给定的数组长度,均匀划分起点到终点的距离生成一维数组

image.gif

image.gif

全等数组

image.gif

以下3个函数创建的数组,所有数组元素均相等

np.zeros(): 生成一个全为0的一维或多维数组。

np.ones(): 生成一个全为1的一维或多维数组。

np.full(): 生成一个元素全部相等的一维或多维数组。

image.gif

image.gif

image.gif


numpy数组操作

image.gif

数组形变

image.gif

改变数组的形状,数组的.shape属性会发生变化

  • ndarray.reshape(): 改变数组的形状
  • ndarray.T: 数组转置
  • ndarray.ravel(): 拉直数组

image.gif

image.gif

image.gif

image.gif

image.gif 编辑

数组拼接

将多个相同维度的数组拼接起来

  • np.concatenate(): 数组拼接,可以选择特定的轴进行数组拼接
  • np.hstack(): 数组横向拼接
  • np.vstack(): 数组纵向拼接

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

  • np.concatenate可以沿数组不同的方向进行拼接。
  • np.hstack对于二维及以上的数组,总是沿着axis=1的方向进行拼接。
  • np.vstack对于二维及以上的数组,总是沿着axis=0的方向进行拼接。
  • np.vstack只能拼接长度相同的一维数组。
  • np.vstack拼接一维数组后输出的结果是一个二维数组

数组拆分

数组拼接的反向操作

  • np.hsplit(): 数组横向拆分
  • np.vsplit(): 数组纵向拆分

image.gif

image.gif


numpy数组索引

image.gif

image.gif


numpy数组运算

image.gif

基本运算

四则运算:(+-*/) 以及求模(%)、取整(//) 、乘方(**)

比较运算:==, !=, >, <, >=, <=

矩阵乘法:@

image.gif

image.gif

image.gif

常用运算函数

常用的运算函数,会对数组中的每个元素执行运算

  • np.sqrt(arr): 开二次根号
  • np.square(arr): 求平方相当于arr ** 2
  • np.sin(arr): sin函数
  • np.cos(arr): cos函数
  • np.exp(arr): e的次幂
  • np.log(arr): 以e为底的对数

image.gif

常用统计函数

常用的统计函数,统计函数和运算函数的一大区别是:

运算函数计算的结果与原数组的形状一样,而统计函数计算结果数组形状与原数组不一样

  • ndarray.max(): 求数组最大值
  • ndarray.min(): 求数组最小值
  • ndarray.mean(): 求数组均值
  • ndarray.std(): 求数组标准差
  • ndarray.var(): 求数组方差
  • ndarray.sum(): 数组求和
  • ndarray.argmax(): 求数组最大值所在的位置
  • ndarray.argmin(): 求数组最小值所在的位置

上面这些函数,用法都大差不差。它们都有axis这个参数,主要就是控制这个参数。

因此只需要掌握参数axis的对数组计算结果有何影响即可。

如果不指定轴axis,默认对整个数组计算统计量

axis=None

image.gif

axis=1

image.gif

 参考文献:

[1]GitHub - Light2077/drawing_and_studying_numpy: 边画边学numpy


目录
相关文章
|
7天前
|
人工智能 自然语言处理 安全
Vibe Coding 实战:别盲目跟风,先分清 vibe coding 适合什么场景
本文系统总结vibe coding实战经验:明确其适用场景(原型、小工具、标准化模块),剖析5步落地流程(场景判定→结构化提示词→目录初始化→分模块生成→自动化校验),指出四大常见误区,并推荐适配工具Trae。强调“场景匹配+规则前置”是提效关键,避免盲目套用。
597 1
社区活动礼品兑换攻略
社区活动礼品兑换攻略
14807 2
|
云栖大会 开发者
收到阿里云【乘风者计划】博主证书和奖励
收到阿里云【乘风者计划】博主证书和奖励 2023年2月对我来说是一个很好的开端,因为我在1号就收到了阿里云寄给我的【乘风者计划】博主证书和奖励。好兆头啊! 我收到的是我获得的【技术博主】【星级博主】【专家博主】三个的奖品和证书,一快给我寄过来哒!
3292 2
收到阿里云【乘风者计划】博主证书和奖励
|
7月前
|
机器学习/深度学习 人工智能 缓存
让AI评测AI:构建智能客服的自动化运营Agent体系
大模型推动客服智能化演进,从规则引擎到RAG,再到AI原生智能体。通过构建“评估-诊断-优化”闭环的运营Agent,实现对话效果自动化评测与持续优化,显著提升服务质量和效率。
3286 86
让AI评测AI:构建智能客服的自动化运营Agent体系
|
6天前
|
机器学习/深度学习 数据采集 人工智能
田间杂草检测数据集分享(适用于YOLO系列深度学习分类检测任务)
本数据集含4000张真实农田图像(小麦/玉米/水稻田),YOLO格式标注杂草目标,覆盖多天气、光照与视角,适用于YOLO系列等目标检测模型训练,助力智能除草与精准农业研究。(239字)
181 16
|
7天前
|
人工智能 机器人 芯片
人工智能|YOLOv8实战
本内容为安全帽检测实战项目,基于YOLOv8模型,涵盖Kaggle数据获取、自定义yaml配置、模型训练(yolo_train.py)与测试(yolo_test.py),并提供服务器(FastAPI+Docker)、边缘(Jetson+TensorRT)及国产嵌入式(RK3588+RKNN)三类部署方案,支持工业场景实时智能识别。(239字)
146 1
|
14天前
|
弹性计算 前端开发 Ubuntu
阿里云服务器ECS的租用教程和简单的前端页面部署
本文详解阿里云学生福利领取(含300元卡券)及ECS轻量服务器选购与部署全流程:涵盖学生机免费申领、配置选型建议(Ubuntu/CentOS/Windows)、安全组设置、Nginx安装、网页部署及Xshell远程连接等实操步骤,新手友好。
222 8
|
8月前
|
人工智能 vr&ar UED
获奖公布|第十九届"挑战杯"竞赛2025年度中国青年科技创新"揭榜挂帅"擂台赛阿里云“AI技术助力乡村振兴”专题赛拟授奖名单公示
获奖公布|第十九届"挑战杯"竞赛2025年度中国青年科技创新"揭榜挂帅"擂台赛阿里云“AI技术助力乡村振兴”专题赛拟授奖名单公示
|
4月前
|
机器学习/深度学习 人工智能 物联网
烧显卡不烧钱:学生党个人开发者GPU选购指南,看完不再被割韭菜
本文为学生与个人开发者量身打造大模型微调硬件选购指南:解析LoRA/QLoRA等高效微调技术如何大幅降低显存需求,对比RTX 3060/3090/4090等显卡的显存、带宽、算力与性价比,提供2000–8000元梯度配置方案,并分享混合精度、梯度累积等显存优化技巧及云资源省钱策略。
|
4月前
|
存储 人工智能 弹性计算
阿里云服务器学生免费领取指南:2026年最新0元获得一台学生机教程
阿里云学生可免费领300元无门槛代金券,认证后用于购云服务器即0元入手!教程涵盖申请、认证及使用全流程。非学生亦享权益中心特惠机型,低至38元/年。详情见阿里云高校用云计划。
8778 18