NumPy numpy.broadcast 函数

  • 简述

    如前所述,NumPy 具有对广播的内置支持。此功能模仿广播机制。它返回一个对象,该对象封装了将一个数组广播到另一个数组的结果。
    该函数将两个数组作为输入参数。下面的例子说明了它的使用。
  • 例子

    
    import numpy as np 
    x = np.array([[1], [2], [3]]) 
    y = np.array([4, 5, 6])  
       
    # tobroadcast x against y 
    b = np.broadcast(x,y)  
    # it has an iterator property, a tuple of iterators along self's "components." 
    print 'Broadcast x against y:' 
    r,c = b.iters 
    print r.next(), c.next() 
    print r.next(), c.next() 
    print '\n'  
    # shape attribute returns the shape of broadcast object 
    print 'The shape of the broadcast object:' 
    print b.shape 
    print '\n'  
    # to add x and y manually using broadcast 
    b = np.broadcast(x,y) 
    c = np.empty(b.shape) 
    print 'Add x and y manually using broadcast:' 
    print c.shape 
    print '\n'  
    c.flat = [u + v for (u,v) in b] 
    print 'After applying the flat function:' 
    print c 
    print '\n'  
    # same result obtained by NumPy's built-in broadcasting support 
    print 'The summation of x and y:' 
    print x + y
    
    它的输出如下 -
    
    Broadcast x against y:
    1 4
    1 5
    The shape of the broadcast object:
    (3, 3)
    Add x and y manually using broadcast:
    (3, 3)
    After applying the flat function:
    [[ 5. 6. 7.]
     [ 6. 7. 8.]
     [ 7. 8. 9.]]
    The summation of x and y:
    [[5 6 7]
     [6 7 8]
     [7 8 9]]