2014-06-20 91 views
0

我是Python新手,现在只是阅读教程。python中的numpy reduceat()是什么意思?

我很困惑reduceat()函数。

我看到的例子:

np.add.reduceat([0,1,2,3,4,5,6,7],[0,4,1,5,2,6,3,7])[::2] 

和结果是:

array([ 6, 10, 14, 18]) 

它是如何出来的?有人能为我解释吗?

+0

有你读文档? –

+3

http://docs.scipy.org/doc/numpy-1.6.0/reference/generated/numpy.ufunc.reduceat.html –

+0

其实我看过了,但不明白... – xirururu

回答

1

它有点像一个滚动申请,请参阅:

In [59]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[0,4]) 
Out[59]: 
array([ 6, 22]) 
In [65]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[4,1]) 
Out[65]: 
array([ 4, 28]) 
In [66]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[1,5]) 
Out[66]: 
array([10, 18]) 
In [64]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[5,2]) 
Out[64]: 
array([ 5, 27]) 
In [61]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[2,6]) 
Out[61]: 
array([14, 13]) 
In [67]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[6,3]) 
Out[67]: 
array([ 6, 25]) 
In [62]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[3,7]) 
Out[62]: 
array([18, 7]) 

如果你只想第一个值,你可以得到它只是一次完成:

In [63]: 

np.add.reduceat([0,1,2,3,4,5,6,7],[0,4,1,5,2,6,3,7]) 
Out[63]: 
array([ 6, 4, 10, 5, 14, 6, 18, 7])