python - 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') 但这并没有给我想要的结果。我还有什么其他方法可以做到这一点?
解决方案
您可以使用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}}
推荐阅读
- html - 如何在两侧覆盖 2 个图像作为背景图像
- c++ - C++ GLFW setWindowIcon
- c++ - 在不使用“from_blob(...)...”的情况下从 C/C++ 数组创建一个 torch::Tensor
- javascript - 将图像作为道具动态传递给子组件
- graphql - Apollo 客户端在页面刷新之前不会向后端发送令牌
- python - 烧瓶表单 POST 请求以填充 jinja2 模板的其余部分
- vue.js - 如何创建自定义开始/结束日期 Vue 自定义验证器
- sql - 当我尝试在 oracle sql 中执行我的过程时出现“光标已打开”错误
- typescript - 将返回类型从 `any` 更新为特定类型会是一项重大更改吗?
- reactjs - 无法在服务器呈现的 nextjs apollo 应用程序中获取更新的缓存