NumPy 数组操作 numpy.broadcast

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程