Numpy数组的广播机制的实现


Posted in Python onNovember 03, 2020

前言

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不等,故通过广播机制进行如下图的扩展

Numpy数组的广播机制的实现

广播机制的使用条件

1、数组的某一维度等长
2、其中一个数组的某一维度为1

到此这篇关于Numpy数组的广播机制的实现的文章就介绍到这了,更多相关Numpy数组的广播机制内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python Mysql自动备份脚本
Jul 14 Python
python计算方程式根的方法
May 07 Python
python显示生日是星期几的方法
May 27 Python
玩转python爬虫之正则表达式
Feb 17 Python
python3利用tcp实现文件夹远程传输
Jul 28 Python
实例分析python3实现并发访问水平切分表
Sep 29 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
python加载自定义词典实例
Dec 06 Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Python基于callable函数检测对象是否可被调用
Oct 16 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 #Python
Python os库常用操作代码汇总
Nov 03 #Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 #Python
python import 上级目录的导入
Nov 03 #Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 #Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 #Python
python中not、and和or的优先级与详细用法介绍
Nov 03 #Python
You might like
PHP 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
php实现简单洗牌算法
2013/06/18 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
super关键字的用法
2012/04/10 面试题
人事主管岗位职责
2014/01/30 职场文书
合作协议书怎么写
2014/04/18 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
信息合作协议书
2014/10/09 职场文书
订货会邀请函
2015/01/31 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
Django路由层如何获取正确的url
2021/07/15 Python