要将基于两个单独的排名/分组的日期时段分组在一起,首先需要理解几个基础概念:
这种分组方式常用于数据分析、报告生成、资源调度等领域,特别是在需要根据多个维度对时间数据进行细分时。
假设我们有两个排名/分组标准,例如“优先级”和“部门”,并且我们有一系列的日期时段需要根据这两个标准进行分组。
from collections import defaultdict
from datetime import datetime
# 假设的数据
data = [
{"date_time": "2023-04-01T10:00:00", "priority": 1, "department": "A"},
{"date_time": "2023-04-01T11:00:00", "priority": 2, "department": "A"},
{"date_time": "2023-04-01T12:00:00", "priority": 1, "department": "B"},
# 更多数据...
]
# 分组函数
def group_by_rank_and_department(data):
grouped = defaultdict(lambda: defaultdict(list))
for entry in data:
date_time = datetime.fromisoformat(entry["date_time"])
priority = entry["priority"]
department = entry["department"]
grouped[department][priority].append(date_time)
return grouped
# 执行分组
grouped_data = group_by_rank_and_department(data)
# 输出结果
for department, priorities in grouped_data.items():
print(f"Department: {department}")
for priority, times in priorities.items():
print(f" Priority {priority}: {times}")
defaultdict
来方便地创建嵌套的字典结构。通过上述方法,可以有效地将基于多个排名/分组的日期时段进行组织和管理,适用于多种复杂的数据分析场景。
领取专属 10元无门槛券
手把手带您无忧上云