当前位置: 移动技术网 > IT编程>脚本编程>Python > Numpy数组的广播机制的实现

Numpy数组的广播机制的实现

2020年11月03日  | 移动技术网IT编程  | 我要评论
前言numpy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作(矢量化运算)。当两个数组大小(numpy.shape)不同时,进行算术运算会出现广播机制。数组广播数组在进行矢量化运算的时,要求

前言

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数组的广播机制内容请搜索移动技术网以前的文章或继续浏览下面的相关文章希望大家以后多多支持移动技术网!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网