Mahamutha M
Mahamutha M

Reputation: 1287

Convert nested list of dictionaries to pandas DataFrame

Can anyone suggest me an efficient way to convert list of list of dictionaries as pandas dataframe?

Input = [[{'name':'tom','roll_no':1234,'gender':'male'},
          {'name':'sam','roll_no':1212,'gender':'male'}],
          [{'name':'kavi','roll_no':1235,'gender':'female'},
          {'name':'maha','roll_no':1211,'gender':'female'}]]

The dictionary keys are same in the sample input provided and an expected output is,

Output =      name       roll_no       gender
          0   tom        1234          male
          1   sam        1212          male
          2   kavi       1235          female
          3   maha       1211          female

Upvotes: 4

Views: 4014

Answers (1)

cs95
cs95

Reputation: 402363

You will need to flatten your input using itertools.chain, and you can then call the pd.DataFrame constructor.

from itertools import chain
pd.DataFrame(list(chain.from_iterable(data)))

   gender  name  roll_no
0    male   tom     1234
1    male   sam     1212
2  female  kavi     1235
3  female  maha     1211

Upvotes: 4

Related Questions