NumPy (Broadcast)

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] ]

 

    简单的广播形式

猜你喜欢

转载自www.cnblogs.com/tongtongxue/p/10027631.html
今日推荐