以下是一个示例代码,用于按周对石墨组的时间戳事件进行分组。
import datetime
def group_by_week(timestamps):
groups = {}
for timestamp in timestamps:
dt = datetime.datetime.fromtimestamp(timestamp)
week_number = dt.isocalendar()[1] # 获取年份中的周数
if week_number not in groups:
groups[week_number] = []
groups[week_number].append(timestamp)
return groups
# 示例数据,包含一些时间戳
timestamps = [1609459200, 1609545600, 1609632000, 1609718400, 1609804800]
# 按周对时间戳事件进行分组
groups = group_by_week(timestamps)
# 打印每周的事件列表
for week_number, events in groups.items():
print(f"Week {week_number}: {events}")
这段代码首先定义了一个group_by_week
函数,该函数接受一个时间戳列表作为输入,并返回一个按周分组的字典。在循环中,对于每个时间戳,将其转换为一个datetime
对象,然后使用isocalendar()
函数获取该日期属于年份中的第几周。然后,检查该周是否已经在groups
字典中,如果不在,则创建一个新的空列表;然后将该时间戳添加到该周的事件列表中。最后,返回分组后的字典。
使用示例数据调用group_by_week
函数,并遍历每周的事件列表,打印结果。输出的结果将类似于:
Week 53: [1609459200]
Week 1: [1609545600, 1609632000, 1609718400, 1609804800]
这表示时间戳1609459200属于第53周,而其他的时间戳则属于第1周。
上一篇:按周对时间表中记录的工时进行排序
下一篇:按周对数组的列进行分组