NumPy (Broadcast)

    是对numpy对不同形状的数组进行计算的方式

 

    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将自动触发广播机制

    

    import numpy as np

    a = array([ [0, 0, 0],

         [10, 10, 10],

         [20, 20, 20],

         [30, 30, 30] ])

    b = array([ 1, 2, 3])   

    print(a + b)

 

    打印如下:

    [ [ 1 2 3]

      [11 11 11]

      [21 21 21]

      [31 31 31] ] 

 

 

    另一种的广播形式

    import numpy as np

    a = np.array([ [ 0, 0, 0],

              [10, 10,10],

           [20, 20, 20],

           [30, 30, 30] ])

    b = np.array([1, 2, 3])

    bb = np.tile(b, (4, 1))

    print(a + bb)

 

    输出如下:

    [ [1 2 3]

       [11 12 13]

       [21 22 23]

       [31 32 33] ]

 

 

    简单的广播形式

posted on 2018-11-28 11:09  童童学  阅读(123)  评论(0编辑  收藏  举报