在不使用聚合函数的情况下按列id和manager_id分组,可以通过以下步骤实现:
以下是一个示例代码,演示如何按列id和manager_id分组:
# 假设数据集存储在一个名为data的列表中,每个元素是一个字典,包含id和manager_id两列的值
data = [
{"id": 1, "manager_id": 100, "name": "John"},
{"id": 2, "manager_id": 100, "name": "Jane"},
{"id": 3, "manager_id": 200, "name": "Mike"},
{"id": 4, "manager_id": 200, "name": "Sarah"},
{"id": 5, "manager_id": 100, "name": "Tom"},
{"id": 6, "manager_id": 200, "name": "Emily"}
]
# 按id和manager_id排序
sorted_data = sorted(data, key=lambda x: (x["id"], x["manager_id"]))
# 创建一个空字典用于存储分组结果
groups = {}
# 遍历排序后的数据集
for row in sorted_data:
key = (row["id"], row["manager_id"])
# 检查字典中是否存在以当前id和manager_id为键的分组
if key not in groups:
groups[key] = []
# 将当前行数据添加到分组中
groups[key].append(row)
# 打印分组结果
for key, rows in groups.items():
print("Group:", key)
for row in rows:
print(row)
print()
这段代码将数据集按照id和manager_id进行排序,并将相同id和manager_id值的行数据分组存储在字典中。最后,打印出每个分组的内容。
请注意,以上代码仅为示例,实际应用中可能需要根据具体情况进行适当的修改和优化。
领取专属 10元无门槛券
手把手带您无忧上云