如何用Pandas按日期对列中的部分求和?

2024-05-03 14:26:24 发布

您现在位置:Python中文网/ 问答频道 /正文

如何按日期对列中的部分求和,例如,在本例中,首先是从2000年到2008年,然后是2009年到2016年?在

    Date  Total Managed Expenditure
0   2001                      503.2
1   2002                      529.9
2   2003                      559.8
3   2004                      593.2
4   2005                      629.5
5   2006                      652.1
6   2007                      664.3
7   2008                      688.2
8   2009                      732.0
9   2010                      759.2
10  2011                      769.2
11  2012                      759.8
12  2013                      760.6
13  2014                      753.3
14  2015                      757.6
15  2016                      753.9

Tags: datemanagedtotal本例expenditure
2条回答

斯蒂芬的回答更好。但我喜欢这个

df.groupby(df.Date.le(2008)).TME.sum()

如注释中所述,pandas.cut进行分类,然后groupby

代码:

df.groupby(pd.cut(df.Date, [2000, 2008, 2016]))['TME'].sum()

测试代码:

^{pr2}$

结果:

Date
(2000, 2008]    4820.2
(2008, 2016]    6045.6
Name: TME, dtype: float64

相关问题 更多 >