如何从大字典中随机抽样创建子字典



我有一个更大的字典如下(Large_dict)。我想从字典中所有可能的值创建一个数据帧。我尝试使用for循环迭代,但它需要时间来创建数据框架。

因此,我试图从较大的字典中创建一个子字典(值的随机样本),从较小的字典中所有可能的值创建一个较小的数据帧,然后附加所有较小的数据帧,以创建一个最终较大的数据帧。

如何从大字典中随机抽样(每个键3个值)创建子字典

Large_dict= {
"A":[0,1,.....215],
"B":[4,5,.....100],
"C":[0,1,......130],
"D":[0,1,........235], 
......... 
"Y":[0,1,........50],
"Z":[0,1,........535]}

Small_dict = { "A":[0,13,25],
"B":[10,20,30],
"C":[0,1,60],
"D":[0,1,35], 
......... 
"Y":[0,1,50],

"Z":[0,35,100]}

您可以使用random.sample从字典推导式中的每个子列表中选择3(在本例中)

>>> import random
>>> values = list(range(50))
>>> large = {'A': values, 'B': values, 'C': values}
>>> {k:random.sample(v, 3) for k,v in large.items()}
{'A': [22, 44, 45], 'B': [22, 0, 49], 'C': [23, 14, 32]}

相关内容

  • 没有找到相关文章

最新更新