Pandas датафрейм в словарь списков - PullRequest
2 голосов
/ 10 апреля 2020

Имея фрейм данных формы:

element1   | element2  |  element3
cat           bird          plane
dog           poodle        cloud
pig           bike          sky

Я хочу преобразовать его в словарь списков формы

{ 'element1' : ['cat', 'dog', 'pig'], 
  'element2' : ['bird', 'poodle', 'bike'],
  'element3' : ['plane', 'cloud', 'sky']  }

Я смотрю документацию метода .to_dict, но ни один из параметров, кажется, не делает то, что мне нужно.

Ответы [ 2 ]

2 голосов
/ 10 апреля 2020

Использование DataFrame.to_dict с параметром list:

d = df.to_dict('list')
print (d)
{'element1': ['cat', 'dog', 'pig'],
 'element2': ['bird', 'poodle', 'bike'], 
 'element3': ['plane', 'cloud', 'sky']}
2 голосов
/ 10 апреля 2020

Обычно to_dict основывается на элементах индекса в качестве ключевых значений, поэтому транспонируйте ваш информационный кадр и применяйте список за строкой, а затем преобразуйте словарь

df.T.apply(list,1).to_dict()

Out:

{'element1': ['cat', 'dog', 'pig'],
 'element2': ['bird', 'poodle', 'bike'],
 'element3': ['plane', 'cloud', 'sky']}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...