我有设施流量的时间趋势数据(随着时间的推移,设施的入学和毕业),有差距。由于该数据的结构,当出现差距时,差距前一天的“释放”人为偏高(占差距期间释放的所有看不见的个体),而缺口后一天的“入院率”被人为抬高(原因相同:任何在缺口期间入院并留在设施内的个人将在这一天以“入院率”出现)。
以下是一个涉及此类数据差距的Pandas系列样本(0表示2020-01-04至2020-01-07的数据缺失):
date(index) releases admissions
2020-01-01 15 23
2020-01-02 8 20
2020-01-03 50 14
2020-01-04 0 0
2020-01-05 0 0
2020-01-06 0 0
2020-01-07 0 0
2020-01-08 8 100
2020-01-09 11 19
2020-01-10 9 17
对此的可视化(忽略缺失总人口的单独线性插值)如下所示:
我想平滑这些数据,但我不知道用什么插值方法。我想要完成的是在日期间隔(0)-1上向前重新分配“发布”,在日期间隔(n)+1上向后重新分配“录取”。例如,如果一个间隔是4天,并且在天间隔(n)+1上有100个录取,我想重新分配,以便在间隔的每一天,有20个录取,并且在天间隔(n)+1上修改录取显示20。
使用上述示例系列,重新分布将如下所示:
date(index) releases admissions
2020-01-01 15 23
2020-01-02 8 20
2020-01-03 10 14
2020-01-04 10 20
2020-01-05 10 20
2020-01-06 10 20
2020-01-07 10 20
2020-01-08 8 20
2020-01-09 11 19
2020-01-10 9 17
1条答案
按热度按时间gpnt7bae1#
您可以在为之前创建具有连续零+一个值的组
releases
和后面的一个值admissions
,然后使用transform('mean')
要计算每组的平均值:输出: