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

3.8 广播

广播是指NumPy在算术运算期间处理不同形状的数组的能力。对数组的算术运算通常在相应的元素上进行。如果两个阵列具有完全相同的形状,这些操作就会被无缝执行。

【例3.31】

   import numpy as np
   a = np.array([1,2,3,4])
   b = np.array([10,20,30,40])
   c = a * b
   print c

输出如下:

   [10  40  90  160]

如果两个数组的维数不相同,元素到元素的操作就是不可能的。然而,在NumPy中仍然可以对形状不相似的数组进行操作,因为它拥有广播功能。较小的数组会广播到较大数组的大小,以便使它们的形状可兼容。

如果满足以下规则,就可以进行广播:

如果上述规则产生有效结果,并且满足以下条件之一,那么数组被称为可广播的。

【例3.32】

   import numpy as np
   a  =   np.array([[0.0,0.0,0.0],[10.0,10.0,10.0],[20.0,20.0,20.0],[30.0,30.0,
30.0]])
    b = np.array([1.0,2.0,3.0])
    print  '第一个数组:'
    print a
    print  '\n'
    print  '第二个数组:'
    print b
    print  '\n'
    print  '第一个数组加第二个数组:'
    print a + b

输出如下: BiqJIIvd14YJV4qjlnN7fIrxrOxRnLCPWn3AHh/q/CuhkpqO+YGxsH10XT94QKYD

   第一个数组:
   [[ 0. 0. 0.]
    [ 10. 10. 10.]
    [ 20. 20. 20.]
    [ 30. 30. 30.]]
    
   第二个数组:
   [ 1. 2. 3.]
   
   第一个数组加第二个数组:
   [[ 1. 2. 3.]
    [ 11. 12. 13.]
    [ 21. 22. 23.]
    [ 31. 32. 33.]]
点击中间区域
呼出菜单
上一章
目录
下一章
×