pandas dataframe transformation部分和

时间:2014-11-13 23:26:41

标签: pandas dataframe

我有一个pandas数据帧

索引A

1    3.4
2    4.5
3    5.3
4    2.1
5    4.0
6    5.3
...
95   3.4
96   1.2
97   8.9
98   3.4
99   2.7
100  7.6

从此我想创建一个数据帧B

 1-5    sum(1-5)
 6-10   sum(6-10) 
 ...
 96-100 sum(96-100)

任何想法如何优雅而不是蛮力?

干杯,迈克

1 个答案:

答案 0 :(得分:0)

这将为您提供一系列部分总和:

df['bin'] = df.index / 5
bin_sums = df.groupby('bin')['A'].sum()

然后,如果要重命名索引:

bin_sums.index = ['%s - %s' % (5*i, 5*(i+1)) for i in bin_sums.index]