sanjayr
sanjayr

Reputation: 1939

Pandas: Convert dictionary to dataframe where keys and values are the columns

I have a dictionary like so:

d = {'3a0fe308-b78d-4080-a68b-84fdcbf5411e': 'SUCCEEDED-HALL-IC_GBI', '7c975c26-f9fc-4579-822d-a1042b82cb17': 'SUCCEEDED-AEN-IC_GBI', '9ff20206-a841-4dbf-a736-a35fcec604f3': 'SUCCEEDED-ESP2-IC_GBI'}

I would like to convert my dictionary into something like this to make a dataframe where I put all the keys and values in a separate list.

d = {'key': ['3a0fe308-b78d-4080-a68b-84fdcbf5411e', '7c975c26-f9fc-4579-822d-a1042b82cb17', '9ff20206-a841-4dbf-a736-a35fcec604f3'],
     'value': ['SUCCEEDED-HALL-IC_GBI', 'SUCCEEDED-AEN-IC_GBI', 'SUCCEEDED-ESP2-IC_GBI']

What would be the best way to go about this?

Upvotes: 1

Views: 612

Answers (3)

juananthony
juananthony

Reputation: 19

You can create the dataframe zipping the key/value lists with zip function:

import pandas as pd

df = pd.DataFrame(list(zip(d.keys(),d.values())), columns=['key','value'])

Upvotes: 1

Manuel
Manuel

Reputation: 66

You can easily create a DataFrame like this:

import pandas as pd

d = {'3a0fe308-b78d-4080-a68b-84fdcbf5411e': 'SUCCEEDED-HALL-IC_GBI',
     '7c975c26-f9fc-4579-822d-a1042b82cb17': 'SUCCEEDED-AEN-IC_GBI',
     '9ff20206-a841-4dbf-a736-a35fcec604f3': 'SUCCEEDED-ESP2-IC_GBI'}
table = pd.DataFrame(d.items(), columns=['key', 'value'])

If you just want to rearrange your Dictionary you could do this:

d2 = {'key': list(d.keys()), 'value': list(d.values())}

Upvotes: 3

Quang Hoang
Quang Hoang

Reputation: 150735

Since you tagged pandas, try:

pd.Series(d).reset_index(name='value').to_dict('list')

Output:

{'index': ['3a0fe308-b78d-4080-a68b-84fdcbf5411e',
  '7c975c26-f9fc-4579-822d-a1042b82cb17',
  '9ff20206-a841-4dbf-a736-a35fcec604f3'],
 'value': ['SUCCEEDED-HALL-IC_GBI',
  'SUCCEEDED-AEN-IC_GBI',
  'SUCCEEDED-ESP2-IC_GBI']}

Pure python:

{'key':list(d.keys()), 'value': list(d.values())}

output:

{'key': ['3a0fe308-b78d-4080-a68b-84fdcbf5411e',
  '7c975c26-f9fc-4579-822d-a1042b82cb17',
  '9ff20206-a841-4dbf-a736-a35fcec604f3'],
 'value': ['SUCCEEDED-HALL-IC_GBI',
  'SUCCEEDED-AEN-IC_GBI',
  'SUCCEEDED-ESP2-IC_GBI']}

Upvotes: 1

Related Questions