每年熊猫总和

时间:2018-11-05 00:55:30

标签: python-3.x pandas

python3,pandas版本0.23.4

假设我们有一个如下所示的熊猫DataFrame

np.random.seed(45)
df = pd.DataFrame({'A': np.random.randint(0, 10, 20)}, index = pd.to_datetime(dd).sort_values(ascending=False))

现在,我希望汇总每年A列中的数据。我可以做到:

gf_perYear = gf.groupby(by= gf.index.year)
gf_perYear.sum()

       A
2012  11
2013   8
2014  15
2015  44
2016  13
2017  11

但是,我想知道是否有一种方法可以让我在每年的最后一天之前将结果发布到新列中,如下所示:

            A sum_per_year
2017-12-15  3           11
2017-11-27  0             
2017-07-24  5             
2017-06-28  3             
2016-11-07  4           13
2016-06-03  9             
2015-12-18  8           44
2015-10-16  1             
2015-09-18  5             
2015-07-15  9             
2015-04-09  6             
2015-03-18  8             
2015-02-18  7             
2014-10-21  8           15
2014-09-16  5             
2014-01-29  2             
2013-01-04  8            8
2012-12-28  1           11
2012-08-21  6             
2012-03-02  4             

1 个答案:

答案 0 :(得分:1)

您可以使用transform

gf_perYear = gf.groupby(by= gf.index.year)
gf['new'] = gf_perYear.transform('sum')