Преобразование кадра данных в словарь с несколькими значениями

У меня есть датафрейм как

Sr.No   ID       A         B          C         D
 1     Tom     Earth    English      BMW
 2     Tom     Mars     Spanish      BMW       Green          
 3     Michael Mercury  Hindi        Audi      Yellow
 4     John    Venus    Portugese    Mercedes  Blue
 5     John             German       Audi      Red

Я пытаюсь преобразовать это в словарь по идентификатору, как:

{'ID' : 'Tom', 'A' : ['Earth', 'Mars'], 'B' : ['English', 'Spanish'], 'C' : 
                                                ['BMW', 'BMW'], 'D':['Green'] }, 

{'ID' : 'Michael', 'A' : ['Mercury'], 'B' : ['Hindi'], 'C' : ['Audi'],
                                                               'D':['Yellow']},

{'ID' : 'John', 'A' : ['Venus'], 'B' : ['Portugese', 'German'], 'C' : 
                                     ['Mercedes', 'Audi'], 'D':['Blue', 'Red'] }

это несколько похоже на то, что я хочу.

Я также пытался,

df.set_index('ID').to_dict()

но это дает мне словарь длины 5 вместо 3. Любая помощь будет оценена.

Ответы на вопрос(2)

Ваш ответ на вопрос