我如何计算Pandas活动的开始和结束时间?

2024-10-04 01:22:45 发布

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

我有一个带有datetime索引的数据帧:

2019-09-23 11:34:51 55f0da3f10c
2019-09-24 10:53:53 c4424f9f273
2019-10-02 19:52:21 eca42947ece
2019-10-05 16:59:26 5577300335e

我想计算一下,在数据集中的所有日子里,在晚上7点到早上7点之间有多少个“事件”。我有

grouper = Grouper(level="datetime", freq="1H")
days = df.groupby([grouper]).size().reset_index(name='activity')

但我不知道如何指定时间段。你知道吗


Tags: 数据dfsizedatetime事件dayslevelreset
1条回答
网友
1楼 · 发布于 2024-10-04 01:22:45

时间段可以由pd.Grouper(freq='12H', base=7)指定,其中base是相对于所选频率的偏移量。在这种情况下,我们有7个小时的补偿。你知道吗

这显然会对df进行重采样,但可以过滤相关行:

time_grouper = pd.Grouper(freq='12H', base=7)
grouped = df.groupby(time_grouper).size()
time_filtered = grouped.between_time(start_time='19:00', end_time='07:00',
                                include_start=True, include_end=False)
event_filtered = time_filtered[time_filtered > 0]

相关问题 更多 >