以下是一个示例代码,可以实现按组随机选择行的功能:
import random
def select_rows_by_group(data, group_column):
# 将数据按组分组
groups = {}
for row in data:
group = row[group_column]
if group not in groups:
groups[group] = []
groups[group].append(row)
# 随机选择每个组的一行
selected_rows = []
for group in groups.values():
selected_row = random.choice(group)
selected_rows.append(selected_row)
return selected_rows
# 示例数据
data = [
{"name": "John", "group": "A"},
{"name": "Alice", "group": "A"},
{"name": "Bob", "group": "B"},
{"name": "Charlie", "group": "B"},
{"name": "David", "group": "C"},
{"name": "Eve", "group": "C"}
]
# 按组随机选择行
selected_rows = select_rows_by_group(data, "group")
# 输出结果
for row in selected_rows:
print(row)
输出结果可能会有所不同,因为每次运行时随机选择的行可能不同。但是每个组中只会选择一行。
上一篇:按组随机排序行”
下一篇:按组填补R中的缺失值