Convertir un marco de datos a diccionario con múltiples valores
Tengo un marco de datos como
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
Estoy tratando de convertir esto a un diccionario por ID como:
{'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'] }
Esta es algo similar a lo que quiero
También lo intenté
df.set_index('ID').to_dict()
pero esto me da un diccionario de longitud 5 en lugar de 3. Cualquier ayuda sería apreciada.