我有一个数据框,其中的元素按“值”列排序:
ID Value
04 1
06 2
01 3
02 4
03 5
我需要获得以点为键的字典,以点为单位的点列表以值的顺序排列在圆圈中(第一个底部,第二个顶部)。
Dictionary:
{
01: [02,03,04,06],
03: [04,06,01,02],
..
..
}
答案 0 :(得分:2)
这是使用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']}