2017-11-11 78 views
1

假設熊貓:如何採取一系列的每n行

s = pd.Series(range(50))

0  0 
1  1 
2  2 
3  3 
... 
48  48 
49  49 

我怎樣才能得到新的系列,它由每n行的總和的總和?

預期結果如下,當n = 5時;

0  10 
1  35 
2  60 
3  85 
... 
8  210 
9  235 

如果使用loc或iloc並通過python循環,當然可以實現,但我相信它可以簡單地用Pandas方式完成。

此外,這是一個非常簡單的例子,我不期望對序列的解釋:)。我正在嘗試的實際數據系列具有時間索引和每秒發生的事件數作爲值。

+0

[更多pythonic/pandorable方法來循環熊貓系列]可能的副本(https://stackoverflow.com/questions/41485471/more-pythonic-pandorable-approach-to-looping-over-a-pandas-系列) – miradulo

+0

非常感謝miradulo-san,但是你給我看的答案對我來說太多了。我將在稍後參考。 – HirofumiTamori

回答

1

groupby + sum

s.groupby(s.index // 5 * 5).sum() 

0  10 
5  35 
10  60 
15  85 
20 110 
25 135 
30 160 
35 185 
40 210 
45 235 

組塊中的索引的5和組相應的基團。