Преобразовать фрейм данных в словарь, как показано - PullRequest
0 голосов
/ 18 ноября 2018

Мой фрейм данных как показано

 name    key    value
 john    A223   390309
 jason   B439   230943
 peter   A5388  572039
 john    D23902 238939
 jason   F2390   23930

Я хочу преобразовать сгенерированный выше кадр данных в словарь в указанном ниже формате.

{'john': {'key':'A223', 'value':'390309', 'key':'A5388', 'value':'572039'},
 'jason': {'key':'B439','value':'230943', 'key':'F2390', 'value':'23930'},
 'peter': {'key':'A5388'  ,'value':'572039'}}

Я пытался a = dict(zip(dataframe['key'],dataframe['value'])).

Но не дайте мне заголовки столбцов данных.

1 Ответ

0 голосов
/ 18 ноября 2018

Ключи словаря должны быть уникальными

Предполагая, что, как и в желаемом выводе, вы хотите сохранить только строки с первым экземпляром каждого имени, вы можете изменить порядок строк и затем использовать to_dict с orient='index':

res = df.iloc[::-1].set_index('name').to_dict('index')

print(res)

{'jason': {'key': 'B439', 'value': 230943},
 'john': {'key': 'A223', 'value': 390309},
 'peter': {'key': 'A5388', 'value': 572039}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...