У меня есть следующий пандас dataframe:
df1 = pd.DataFrame({'date': [200101,200101,200101,200101,200102,200102,200102,200102],'blockcount': [1,1,2,2,1,1,2,2],'reactiontime': [350,400,200,250,100,300,450,400]})
Я пытаюсь создать иерархический словарь со значениями встроенного словаря в виде списков, который выглядит следующим образом:
{200101: {1:[350, 400], 2:[200, 250]}, 200102: {1:[100, 300], 2:[450, 400]}}
Как бы я это сделал? Самое близкое, что я получаю, это использование этого кода:
df1.set_index('date').groupby(level='date').apply(lambda x: x.set_index('blockcount').squeeze().to_dict()).to_dict()
Который возвращает:
{200101: {1: 400, 2: 250}, 200102: {1: 300, 2: 400}}