Как я могу преобразовать pandas фрейм данных в словарь без заголовков столбцов? - PullRequest
3 голосов
/ 19 марта 2020

Мой текущий df:


   header1    header2  
   Siam       Thailand      
   Indonesie  Indonesia       
   Arabie     Yemen       
   Ceylon     Sri Lanka      

Таким образом, заголовки моего df - это header1 и header2. Значения - все под этими двумя заголовками.

Я хотел бы преобразовать этот df в плоский словарь, где ключи словаря - это значения header1, а значения словаря - значения header2, например:

Desired выход:

{'Siam': 'Thailand', 'Indonesië': 'Indonesia', 'Arabië': 'Yemen', 'Ceylon': 'Sri Lanka'}

Токовый выход:

{'header2':{'Siam': 'Thailand', 'Indonesie': 'Indonesia', 'Arabie': 'Yemen', 'Ceylon': 'Sri Lanka'}}

Мой код:

df.to_dict()

1 Ответ

3 голосов
/ 19 марта 2020

Это просто:

{a:b for a,b in zip(df['header1'], df['header2'])}

или если вы настаиваете на pandas решении:

df.set_index('header1')['header2'].to_dict()

Вывод:

{'Siam': 'Thailand',
 'Indonesie': 'Indonesia',
 'Arabie': 'Yemen',
 'Ceylon': 'Sri Lanka'}
...