【问题标题】:How to create a sub dictionary by random sample from the larger dictionary如何通过大字典中的随机样本创建子字典
【发布时间】:2021-10-15 05:33:00
【问题描述】:

我有一个更大的字典,如下所示(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]}

【问题讨论】:

    标签: python python-3.x dictionary iterator


    【解决方案1】:

    您可以使用 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]}
    

    【讨论】:

      猜你喜欢
      • 2017-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多