以下是一个示例代码,用于计算每个30分钟间隔中有多少个事件:
import pandas as pd
# 创建一个示例事件列表
event_times = ['2022-01-01 00:05:00', '2022-01-01 00:15:00', '2022-01-01 00:25:00', '2022-01-01 00:35:00',
'2022-01-01 01:05:00', '2022-01-01 01:15:00', '2022-01-01 01:25:00', '2022-01-01 01:35:00']
# 转换为Pandas的日期时间格式
event_times = pd.to_datetime(event_times)
# 创建一个空的计数字典
count_dict = {}
# 遍历每个事件
for event_time in event_times:
# 获取事件所在的30分钟间隔的起始时间
interval_start = event_time.floor('30min')
# 如果起始时间不在计数字典中,则初始化计数为0
if interval_start not in count_dict:
count_dict[interval_start] = 0
# 增加计数
count_dict[interval_start] += 1
# 打印每个30分钟间隔中的事件数量
for interval_start, count in count_dict.items():
interval_end = interval_start + pd.Timedelta(minutes=30)
print(f'从 {interval_start} 到 {interval_end} 之间有 {count} 个事件.')
这段代码首先创建了一个示例事件列表,然后使用Pandas将其转换为日期时间格式。然后,创建一个空的计数字典。接下来,遍历每个事件,找到其所在的30分钟间隔的起始时间,并更新计数字典中对应的计数值。最后,打印出每个30分钟间隔中的事件数量。
注意:这段代码假设事件列表中的事件时间已经按照升序排列。如果事件列表无序,可以先对事件列表进行排序再进行处理。