python - 将有序的dataFrame转换为字典,元素从底部开始
问题描述
我有数据框,其中包含按值列排序的元素:
ID Value
04 1
06 2
01 3
02 4
03 5
我需要获取以点为键的字典,并将点列表作为值以圆圈顺序排列(第一个底部,在顶部之后)。
Dictionary:
{
01: [02,03,04,06],
03: [04,06,01,02],
..
..
}
解决方案
这是使用的一种解决方案collections.deque
:
from collections import deque
dq = deque(df['ID'])
res = {}
for i in list(dq):
res[i] = list(dq)[1:]
dq.rotate(-1)
结果:
{'04': ['06', '01', '02', '03'],
'06': ['01', '02', '03', '04'],
'01': ['02', '03', '04', '06'],
'02': ['03', '04', '06', '01'],
'03': ['04', '06', '01', '02']}
推荐阅读
- julia - Documenter.jl 构建挂起
- php - 如何使用 php simple dom 抓取无效的 html?
- php - 一个具有可变表/字段/值的函数,还是具有可变值的 60 个函数更好?
- powershell - PowerShell:“MemberOf”输出一个空白列而不是用户的“组名”
- javascript - 如何使 axios 表达式等待直到它收到响应
- python - 在 FastAPI 中提供大型请求示例数据失败
- css - 在某个元素之后选择第二个孩子
- laravel - Laravel+Nuxt CORS 在生产环境中被阻塞
- labview - 在事件结构内执行while循环期间无法按下LabVIEW中的停止按钮
- python - 在 azure 函数中导入自定义模块时出现 ModuleNotFound