前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python库介绍12 广播

Python库介绍12 广播

原创
作者头像
用户11104668
修改2024-05-14 10:30:06
920
修改2024-05-14 10:30:06
举报
文章被收录于专栏:python库介绍python库介绍

不同形状的数组或标量计算时,发生广播(Boardcasting)

广播分为标量广播和数组广播

当一个数组与标量进行计算时,标量会在指定维度上被拓展以后再进行计算

【标量广播】

如图,当数组a[[1,2], 与10相加时,标量10会被扩展为 一个2*2的矩阵(元素全为10)

[3,4]]

再与数组a相加

我们可以在jupyter notebook中查看这个过程

import numpy as np

a=np.array([[1,2],

[3,4]])

b=a+10

print(b)

【数组广播】

下面来看数组的广播

import numpy as np

a = np.arange(1,25).reshape(2,3,4)

print(a.shape)

b = np.arange(31,43).reshape(3,4)

print(b.shape)

c = a + b

print(c.shape)

print(c)

矩阵a的形状是(2,3,4)

矩阵b的形状是(3,4)

它们是可以相加的,相加后的结果c是2*3*4矩阵

相加时,原本(3,4)的b矩阵会在0轴上被复制成两份,扩展为(2,3,4)矩阵,然后与矩阵a相加

广播后的b矩阵

可以计算得出,这个广播后的矩阵与矩阵a相加就得到c

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档