EXCEL中的滑动时间窗使用

之前参加一个测试的时候,遇到一个试题,说怎么样计算在过去24小时时间内的销售数据。注意这里是过去的24小时,不是过去的一天也不是昨天。这里就是一个滑动时间窗,然后对滑动时间窗内部的数据进行一个聚合运算。

先看初始数据:

DateHourAmt
2016-02-181150
2016-02-181430
2016-02-181920
2016-02-187100
2016-02-181040
2016-02-181920
2016-02-182160

这里我们有当天的小时时间,但是没有完整的datetime时间,所以需要 转换一下:

1. 使用下面的命令新建一个列DateTime:

=TEXT(G25,"yyyy-mm-dd ")&TEXT(H25&":00:00","hh:mm:ss")

DateHourDateTimeAmt
2016-02-18112016-02-18 11:00:0050
2016-02-18142016-02-18 14:00:0030
2016-02-18192016-02-18 19:00:0020
2016-02-1872016-02-18 07:00:00100
2016-02-18102016-02-18 10:00:0040
2016-02-18192016-02-18 19:00:0020
2016-02-18212016-02-18 21:00:0060

2. 上一步之后,我们需要了解怎么做时间窗,好,我们再新建一列,叫做过去一天之前的现在时间 YesTime:

=DateTime-1,同时保证DateTime是时间,可以Ctrl+c,然后alt+v+v,直接赋值,如果没有最后am或者pm的后缀就使用 =DateTime-0

DateHourDateTimeYesTimeAmt
2016-02-18112016-02-18 11:00:002016-02-17 11:00:0050
2016-02-18142016-02-18 14:00:002016-02-17 14:00:0030
2016-02-18192016-02-18 19:00:002016-02-17 19:00:0020
2016-02-1872016-02-18 07:00:002016-02-17 07:00:00100
2016-02-18102016-02-18 10:00:002016-02-17 10:00:0040
2016-02-18192016-02-18 19:00:002016-02-17 19:00:0020
2016-02-18212016-02-18 21:00:002016-02-17 21:00:0060

3. 然后我们使用YesTime作为时间窗的threshhold去做一个sum

=SUMIFS($G$51:$G$57,$E$51:$E$57,">"&F52, $E$51:$E$57,"<="&E52)

其中$G$51:$G$57 是Amt列,$E$51:$E$57是DateTime列,F52是昨天的同一时间,E52是现在。

DateHourDateTimeDateTime-0YesTimeAmtSumRoll
2016-02-17112016-02-17 11:00:002016-02-17 11:00:002016-02-16 11:00:0050150
2016-02-17142016-02-17 14:00:002016-02-17 14:00:002016-02-16 14:00:0030180
2016-02-17192016-02-17 19:00:002016-02-17 19:00:002016-02-16 19:00:0020200
2016-02-1772016-02-17 07:00:002016-02-17 07:00:002016-02-16 07:00:00100100
2016-02-18102016-02-18 10:00:002016-02-18 10:00:002016-02-17 10:00:0040140
2016-02-18192016-02-18 19:00:002016-02-18 19:00:002016-02-17 19:00:002060
2016-02-18212016-02-18 21:00:002016-02-18 21:00:002016-02-17 21:00:0060120

OK。点到为止。


谢谢

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
时间滑动窗口是一种在时间序列分析常用的技术,用于对时间序列数据进行分析和预测。在Python可以通过使用pandas库来实现时间滑动窗口。 首先,我们需要导入pandas库并读取时间序列数据。可以使用pandas的read_csv函数来读取CSV文件或read_excel函数来读取Excel文件。读取数据后,我们可以使用pandas的DataFrame对象来存储和处理时间序列数据。 接下来,我们可以使用rolling函数来创建滑动窗口对象。滑动窗口的大小可以通过指定参数window进行设置。例如,如果我们想创建一个大小为5的滑动窗口,可以使用rolling(window=5)。 然后,我们可以使用滑动窗口对象来进行一系列的操作。例如,可以使用滑动窗口对象的mean函数来计算滑动窗口数据的平均值。还可以使用sum函数来计算滑动窗口数据的总和。 除了计算统计指标外,我们还可以使用滑动窗口对象进行其他操作,例如找到最大值、最小值或者执行自定义的函数。 最后,我们可以使用pandas库的plot函数来绘制时间序列数据滑动窗口计算出的统计指标。这样可以更直观地观察时间序列数据的趋势和窗口的变化。 总之,时间滑动窗口是一种在时间序列分析常用的技术,可以使用pandas库在Python实现。通过创建滑动窗口对象并使用相应的函数,我们可以计算滑动窗口的统计指标,并通过绘图来展示时间序列数据的变化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值