查找在五秒间隔内按时间顺序取消餐厅订单的频率 [英] Finding the frequency of restaurant order cancellations by time in five second intervals

查看:0
本文介绍了查找在五秒间隔内按时间顺序取消餐厅订单的频率的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据集如下所示:

Order_id 已取消时间 Accept_at 增量
1 2021-07-02 23:30:26 2021-07-02 23:29:21 0天00:01:05
2 2021-09-17 20:35:44 2021-09-17 20:35:33 0天00:00:11
3 2021-05-21 11:47:28 2021-05-21 11:37:19 0天00:10:09
4 2021-06-18 7:34:06 2021-06-18 7:31:08 0天00:02:58
5 2021-05-16 15:54:34 2021-05-16 15:53:43 0天00:00:51

Delta是从客户取消订单到他们下订单的时间。我的目标是找出在五秒间隔内按时间顺序取消餐厅订单的频率,以及模式、中位数和平均值。但是,我尝试了以下操作:

df_new.resample('5S', on='Delta').count().head(5)

我的成绩不理想:

增量 Order_id 已取消时间 Accept_at 增量
0天00:00:01 656 656 656 656
0天00:00:06 1348 1348 1348 1348
0天00:00:11 3874 3874 3874 3874
0天00:00:16 3586 3586 3586 3586
0天00:00:21 2916 2916 2916 2916

我不确定发生了什么事,我希望也许有人能帮忙?提前谢谢你了!我认为计数填满了所有的东西。

理想情况下,我只需要2列

  1. 每隔5秒对增量进行分组(最小增量为1秒,以便正确显示)
  2. 和每5秒间隔的取消计数。
5秒间隔 取消计数
1 25
6 30
11 6
...
...
1分1秒 32

推荐答案

(((df['Delta'].dt.seconds - 1) // 5) * 5 + 1).value_counts().reset_index()

数学运算将每个Delta转换为组标签。//取5的除商,因此12345秒(减去1后)均为组0。然后我们通过* 5 + 1将其还原为秒。value_counts进行精确的计数。reset_index为您返回数据帧。

这篇关于查找在五秒间隔内按时间顺序取消餐厅订单的频率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆