如何从大型Python字典中随机抽取每个键的3个值生成子字典
实现方案
你可以用Python标准库random的抽样方法配合字典推导式快速实现需求,不用额外安装第三方依赖:
场景1:无重复抽样(要求每个键对应的列表长度≥3,否则会抛出异常)
import random # 固定随机种子可复现抽样结果,不需要复现可以删掉这行 random.seed(42) Small_dict = {key: random.sample(val, k=3) for key, val in Large_dict.items()}
场景2:允许重复抽样(适配部分键对应列表长度小于3的场景)
import random random.seed(42) Small_dict = {key: random.choices(val, k=3) for key, val in Large_dict.items()}
补充优化建议
如果你最终需要生成全量的大型DataFrame,直接使用pd.DataFrame(Large_dict)构造的性能远高于拆分生成多个小DataFrame再拼接,只有当全量数据超出内存限制需要分批处理时,才建议用拆分抽样的方案。
内容的提问来源于stack exchange,提问作者user51988
相关产品推荐
相关产品推荐

