图解入门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


目录
相关文章
|
15天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
5803 29
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
10天前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
1168 2
|
7天前
|
人工智能 安全 定位技术
CodeGraph深度解析 让Claude Code工具调用直降七成的核心原理与实操教程
如今以Claude Code为代表的AI编程智能体已经成为开发者日常编码、项目重构、漏洞修复的必备工具。但在长期使用过程中,几乎所有开发者都会遇到同一个明显痛点:AI虽然具备强大的代码生成与分析能力,却常常陷入盲目探索的循环中。
944 1
|
17天前
|
人工智能 自然语言处理 供应链
|
8天前
|
人工智能 弹性计算 安全
阿里云618活动时间、活动入口、优惠活动详细解读
2026年阿里云618创新加速季已全面开启,作为年度力度最大的云产品促销活动,本次大促覆盖轻量应用服务器、ECS云服务器、GPU云服务器、数据库、AI算力、安全服务、CDN等全品类产品,推出5亿元算力补贴、新用户限时秒杀、普惠满减、企业专享、免费试用、云大使返佣等多重福利,个人开发者、中小企业、AI团队均可享受专属低价。本文将系统梳理2026年阿里云618活动的完整时间节点、官方参与入口、各类优惠细则、使用规则、热门产品推荐及实操代码,帮助用户精准参与、高效省钱,以最低成本完成上云部署。
738 4
|
23天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3831 15
|
8天前
|
运维
欢迎报名|2026 Agentic AICon—智能体基础设施与AgentOps专场,邀您参会
欢迎报名|2026 Agentic AICon—智能体基础设施与AgentOps专场,邀您参会
1426 0