购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.6 广播机制

广播机制(Broadcasting)的功能是为了方便不同shape的数组(NumPy库的核心数据结构)进行数学运算。广播提供了一种向量化数组操作的方法,以便在C中而不是在Python中进行循环,这通常会带来更高效的算法实现。广播的兼容原则为:

·对齐尾部维度。

·shape相等or其中shape元素中有一个为1。

以下通过实例来具体说明。


import numpy as np
a=np.arange(10)
b=np.arange(10)
#两个shape相同的数组相加
print(a+b)
#一个数组与标量相加
print(a+3)
#两个向量相乘
print(a*b)
#多维数组之间的运算
c=np.arange(10).reshape([5,2])
d=np.arange(2).reshape([1,2])
#首先将d数组进行复制扩充为[5,2],如何复制请参考图1-2,然后相加。
print(c+d)

图1-2 NumPy多维数组相加

打印结果:


[ 0  2  4  6  8 10 12 14 16 18]
[ 3  4  5  6  7  8  9 10 11 12]
[ 0  1  4  9 16 25 36 49 64 81]
[[ 0  2]
 [ 2  4]
 [ 4  6]
 [ 6  8]
 [ 8 10]]

有时为了保证矩阵运算正确,我们可以使用reshape()函数来变更矩阵的维度。 F/3JFY4XmWbcwZwOuC0ZQ9Ebih3sYYf2+MDG2L1PBSZGIqktVeqEfxz52I3SHJ0u

点击中间区域
呼出菜单
上一章
目录
下一章
×