2014-06-20 88 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])