【发布时间】:2017-03-18 21:25:30
【问题描述】:
我有一个每日级别数据列表,我已针对每个独特的公司/集团分组汇总到季度级别。然后我计算同比增长。
但是,对于当前季度,我想调整同比计算以仅考虑本季度至今。例如,假设数据是截至 2016 年 11 月 4 日的最新数据,并且该季度从 2016 年 10 月 1 日开始到 2016 年 12 月 31 日结束,我想计算 2016 年 10 月 1 日至 11 月 4 日之间的交易增长/2016 和 10/1/2015-11/4/2015。
假设数据是 2016 年 11 月 4 日的最新数据,我如何计算我只有部分数据的最近一个季度的同比增长?
每日数据: df =
Company Group Period Date Value
A X 2014Q1 02/21/2015 3
A X 2014Q1 03/04/2015 4
A X 2014Q1 03/16/2015 2
A X 2014Q2 04/21/2015 1
A X 2014Q2 05/04/2015 2
A X 2014Q2 05/16/2015 3
A X 2014Q3 08/03/2015 1
A X 2014Q3 08/14/2015 2
A X 2014Q4 10/16/2015 4
A X 2014Q4 11/03/2015 2
A X 2014Q4 12/14/2015 3
A X 2015Q1 02/21/2015 2
A X 2015Q1 03/04/2015 2
A X 2015Q1 03/16/2015 1
A X 2015Q2 04/21/2015 3
A X 2015Q2 05/04/2015 2
A X 2015Q2 05/16/2015 3
A X 2015Q3 08/03/2015 4
A X 2015Q3 08/14/2015 2
A X 2015Q4 10/16/2015 1
A X 2015Q4 11/03/2015 1
A X 2015Q4 12/14/2015 2
A X 2016Q1 02/21/2016 3
A X 2016Q1 03/04/2016 2
A X 2016Q1 03/16/2016 2
A X 2016Q2 04/21/2016 3
A X 2016Q2 05/04/2016 1
A X 2016Q2 05/16/2016 2
A X 2016Q3 08/03/2016 5
A X 2016Q3 08/14/2016 4
A X 2016Q4 10/16/2016 3
A XX 2015Q1 02/21/2015 2
A XX 2015Q1 03/04/2015 1
A XX 2015Q1 03/16/2015 1
A XX 2015Q2 04/21/2015 3
A XX 2015Q2 05/04/2015 2
A XX 2015Q2 05/16/2015 1
A XX 2015Q3 08/03/2015 4
A XX 2015Q3 08/14/2015 2
A XX 2015Q4 10/16/2015 5
A XX 2015Q4 11/03/2015 1
A XX 2015Q4 12/14/2015 2
A XX 2016Q1 02/21/2016 5
A XX 2016Q1 03/04/2016 2
A XX 2016Q1 03/16/2016 2
A XX 2016Q2 04/21/2016 1
A XX 2016Q2 05/04/2016 1
A XX 2016Q2 05/16/2016 2
A XX 2016Q3 08/03/2016 2
A XX 2016Q3 08/14/2016 3
A XX 2016Q4 10/13/2016 1
A XX 2016Q4 10/18/2016 1
季度数据:df2=
Company Group Period EndDate Value Pct_Growth_YoY
A X 2014Q1 3/31/2015 9 NaN
A X 2014Q2 6/30/2015 6 NaN
A X 2014Q3 9/30/2015 3 NaN
A X 2014Q4 12/31/2015 9 NaN
A X 2015Q1 3/31/2015 5 -0.44
A X 2015Q2 6/30/2015 8 0.33
A X 2015Q3 9/30/2015 6 1.0
A X 2015Q4 12/31/2015 4 -0.55
A X 2016Q1 3/31/2016 7 0.40
A X 2016Q2 6/30/2016 6 -0.25
A X 2016Q3 9/30/2016 9 0.50
A X 2016Q4 12/31/2016 3 -0.25
A XX 2015Q1 3/31/2015 4 NaN
A XX 2015Q2 6/30/2015 6 NaN
A XX 2015Q3 9/30/2015 6 NaN
A XX 2015Q4 12/31/2015 8 NaN
A XX 2016Q1 3/31/2016 9 1.25
A XX 2016Q2 6/30/2016 4 -0.33
A XX 2016Q3 9/30/2016 5 -0.16
A XX 2016Q4 12/31/2016 2 -0.75
我想计算每个独特的公司/集团组合的季度至今同比增长,而不是比较 2016 年第四季度的部分与 2015 年第四季度的全部情况。
我想要的结果是:
结果=
Company Group Period EndDate Value Pct_Growth_YoY
A X 2014Q1 3/31/2015 9 NaN
A X 2014Q2 6/30/2015 6 NaN
A X 2014Q3 9/30/2015 3 NaN
A X 2014Q4 12/31/2015 9 NaN
A X 2015Q1 3/31/2015 5 -0.44
A X 2015Q2 6/30/2015 8 0.33
A X 2015Q3 9/30/2015 6 1.0
A X 2015Q4 12/31/2015 4 -0.55
A X 2016Q1 3/31/2016 7 0.40
A X 2016Q2 6/30/2016 6 -0.25
A X 2016Q3 9/30/2016 9 0.50
A X 2016Q4 12/31/2016 3 0.50
A XX 2015Q1 3/31/2015 4 NaN
A XX 2015Q2 6/30/2015 6 NaN
A XX 2015Q3 9/30/2015 6 NaN
A XX 2015Q4 12/31/2015 8 NaN
A XX 2016Q1 3/31/2016 9 1.25
A XX 2016Q2 6/30/2016 4 -0.33
A XX 2016Q3 9/30/2016 5 -0.16
A XX 2016Q4 12/31/2016 2 -0.66
【问题讨论】:
-
您如何获得季度数据?你的代码在哪里?
-
@Parfait 我有一个包含季度数据(期间和 QuarterEndDate)的数据框。然后我将其与每日数据合并以添加一个时期列,并在公司、组和时期列上进行分组。
-
但是为什么最后一行是唯一缺失的呢?
-
我已将问题编辑得更清楚。它没有丢失,但同比增长率不正确。数据截至 11 月 4 日,因此当汇总 2016 年第四季度时,它仅包括 2016 年 10 月 1 日至 2016 年 11 月 4 日的数据。但是,2015Q4 有整个季度的数据(10/1/2015-12/31/2015),所以当我计算增长时,它会将部分季度与整个季度进行比较。相反,我想计算同一时期的数据:10/1/2016-11/4/2016 与 10/1/2015-11/4/2015 相比。
-
你能发布你的
groupbypandas代码吗?