以下是一个示例代码,用于按小时分组和计数时间间隔,并标注重叠的天数。
from datetime import datetime, timedelta
# 生成一组时间数据
time_data = [
datetime(2021, 1, 1, 10, 30),
datetime(2021, 1, 1, 11, 15),
datetime(2021, 1, 2, 9, 45),
datetime(2021, 1, 2, 10, 30),
datetime(2021, 1, 2, 11, 0),
datetime(2021, 1, 3, 10, 30),
datetime(2021, 1, 3, 11, 15),
datetime(2021, 1, 4, 9, 45),
datetime(2021, 1, 4, 10, 30),
datetime(2021, 1, 4, 11, 0)
]
# 按小时分组和计数时间间隔,并标注重叠的天数
time_counts = {}
overlapping_days = {}
for time in time_data:
hour = time.strftime('%H:%M')
day = time.date()
# 对每个小时进行计数
if hour in time_counts:
time_counts[hour] += 1
else:
time_counts[hour] = 1
# 对每个小时的重叠天数进行计数
if hour in overlapping_days:
if day not in overlapping_days[hour]:
overlapping_days[hour].append(day)
else:
overlapping_days[hour] = [day]
# 输出结果
for hour, count in time_counts.items():
days = overlapping_days[hour]
print(f"时间:{hour},次数:{count},重叠天数:{len(days)},具体日期:{days}")
这段代码首先定义了一组时间数据,然后使用循环遍历每个时间,并在计数字典 time_counts
中进行计数。同时,在重叠天数字典 overlapping_days
中记录每个小时的重叠日期。
最后,通过遍历计数字典和重叠天数字典,输出每个小时的计数和重叠天数信息。
上一篇:按小时分组的平均玩家人数
下一篇:按小时分组获取计数