Skip to content

服务器托管,北京服务器托管,服务器租用-价格及机房咨询

Menu
  • 首页
  • 关于我们
  • 新闻资讯
  • 数据中心
  • 服务器托管
  • 服务器租用
  • 机房租用
  • 支持中心
  • 解决方案
  • 联系我们
Menu

【数据分析之道-NumPy(四)】numpy广播机制 专栏导读 1、广播机制 2、一维数组和二维数组的广播 3、二维数组和三维数组的广播 4、标量和数组的广播 5、形状不兼容的数组不能进行广播

Posted on 2023年5月6日 by hackdl

文章目录

  • 专栏导读
  • 1、广播机制
  • 2、一维数组和二维数组的广播
  • 3、二维数组和三维数组的广播
  • 4、标量和数组的广播
  • 5、形状不兼容的数组不能进行广播

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

✍ 本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
✍ 订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《机器学习案例》

1、广播机制

NumPy的广播(broadcasting)机制是一种在不同形状的数组之间进行算术运算的机制。在许多情况下,我们需要将不同形状的数组进行算术运算,此时就可以使用广播机制。

广播机制的规则如下:

  • 如果两个数组的形状在某个维度上不同,那么在这个维度上形状为1的数组将被扩展为与另一个数组相同的形状。

  • 如果两个数组的形状在某个维度上相同或其中一个数组在这个维度上的长度为1,那么这两个数组在这个维度上是兼容的。

  • 如果两个数组的形状在所有维度上都是兼容的,那么它们就可以进行广播。

2、一维数组和二维数组的广播

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([1, 2, 3])
c = a + b
print(c)

我们创建了一个二维数组a和一个一维数组b,并使用a + b进行加法运算。由于数组b的形状是(3,),在这个维度上长度为1,所以它可以与数组a的形状(2,3)进行广播。实际上,数组b被扩展成了形状(2,3),然后再进行加法运算,得到的结果为:

3、二维数组和三维数组的广播

import numpy as np

a = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
b = np.array([[1, 2], [3, 4]])
c = a + b
print(c)

我们创建了一个三维数组a和一个二维数组b,并使用a + b进行加法运算。由于数组b的形状是(2,2),在第一维上长度为1,所以它可以与数组a的形状(2,2,2)进行广播。实际上,数组b被扩展成了形状(2,2,2),然后再进行加法运算,得到的结果为:

4、标量和数组的广播

import numpy as np

a = np.array([1, 2, 3])
b = 2
c = a + b
print(c)

我们将一个数组a与一个标量b进行加法运算。由于标量在任何维度上都是长度为1的数组,所以标量可以与任何形状的数组进行广播。实际上,标量b被扩展成了形状(1,),然后再与数组a的形状(3,)进行加法运算,得到的结果为:

5、形状不兼容的数组不能进行广播

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([1, 2])
c = a + b
print(c)

我们试图将一个形状为(2,3)的数组a与一个形状为(2,)的数组b进行广播。这两个数组在第二个维度上的长度不同,无法进行广播,会抛出ValueError异常。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net

Related posts:

  1. 租用服务器机柜价格一般多少
  2. “高效稳定的勐勐云服务器托管服务”
  3. 06.一文看懂并发编程中的锁
  4. 河南省云主机托管商:高效稳定的服务器解决方案
  5. 企业云服务器托管的益处

服务器托管,北京服务器托管,服务器租用,机房机柜带宽租用

服务器托管

咨询:董先生

电话13051898268 QQ/微信93663045!

上一篇: Spring详解简介
下一篇: gitleaks 保护以及发现安全key的工具

最新更新

  • 管理价值
  • 【每日一题】工作计划的最低难度
  • angular-devkit 中 build-angular 包的作用
  • 使用 ABAP 代码删除指定 SAP CRM 系统里 Opportunity 订单的文本
  • 使用 SAP fiori-tools-proxy 时遇到的错误消息 – invalid version

随机推荐

  • 企业服务器托管选择指南
  • 【ChatGPT】ChatGPT 能否取代程序员?
  • 图数据库中的“分布式”和“数据切分”(切图)
  • 北京 三元桥机房
  • 深入了解俄国云服务器租用:文档介绍

客服咨询

  • 董先生
  • 微信/QQ:93663045
  • 电话:13051898268
  • 邮箱:dongli@hhisp.com
  • 地址:北京市石景山区重聚园甲18号2层

友情链接

  • 服务器托管
  • 服务器租用
  • 机房租用托管
  • 服务器租用托管
©2023 服务器托管,北京服务器托管,服务器租用-价格及机房咨询 京ICP备13047091号-8