Numpy数组的广播机制的实现
前言
Numpy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作(矢量化运算)。当两个数组大小(Numpy.shape)不同时,进行算术运算会出现广播机制。
数组广播
数组在进行矢量化运算的时,要求数组形状时相等的。当形状不等的数组执行算术运算的时候,就会出现广播机制,该机制会对数组进行扩展,使数组的shape属性值一样,就可以进行矢量化运算了。
import numpy as np arr1 = np.array([[0], [1], [2], [3]]) print(arr1.shape) arr2 = np.array([1, 2, 3]) print(arr2.shape) val = arr2+arr1 print(val)
输出结果
(4, 1) //arr1的shape
(3,) //arr2的shape
[[1 2 3]
[2 3 4]
[3 4 5]
[4 5 6]]
由于arr1和arr2的shape不等,故通过广播机制进行如下图的扩展

广播机制的使用条件
1、数组的某一维度等长
2、其中一个数组的某一维度为1
到此这篇关于Numpy数组的广播机制的实现的文章就介绍到这了,更多相关Numpy数组的广播机制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python使用lxml模块和Requests模块抓取HTML页面的教程
用Pyhton自带的urllib或urllib2模块抓取网页或许有些陈词滥调了,今天我们就来玩儿些新鲜的,来看Python使用lxml模块和Requests模块抓取HTML页面的教程:2016-05-05
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
这篇文章主要介绍了python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08
pandas中.loc和.iloc以及.at和.iat的区别说明
这篇文章主要介绍了pandas中.loc和.iloc以及.at和.iat的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-04-04
Django Python 获取请求头信息Content-Range的方法
今天小编就为大家分享一篇Django Python 获取请求头信息Content-Range的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08


最新评论