首页 > 解决方案 > Python & ML - 我需要帮助从给定数据集创建嵌套字典

问题描述

我有一个像

NAME  1-pt 1-time 2-pt 2-time ...
abc   xyz  2345   def  2200

我需要制作一个嵌套字典,例如

{abc:{xyz:2345, def:2200}...}

我需要一个带有数据集的 NAME:{1-pt:1-time, 2-pt:2-time} 格式的字典,我该怎么做?

我试过 df.set_index('NAME').to_dict(orient='dict') 但这并没有给我想要的结果。我还有什么其他方法可以做到这一点?

标签: pythonpython-3.xdictionarymachine-learning

解决方案


您可以使用get()常规中的方法dict()来实现此目的:

import csv
new_data_dict = {}
with open("test.csv", 'r') as data_file:
    data = csv.DictReader(data_file, delimiter=",")
    for row in data:
        item = new_data_dict.get(row["NAME"], dict())
        item[row["1-pt"]] = int(row["1-time"])
        item[row["2-pt"]] = int(row["2-time"])
        new_data_dict[row["NAME"]] = item

print(new_data_dict)

这将提供您所需的输出,即:

{'abc': {'xyz': 2345, 'def': 2200}}

推荐阅读