yongsheng
yongsheng

Reputation: 396

Construct DataFrame from list of dicts

Trying to construct pandas DataFrame from list of dicts

List of dicts:

a = [{'1': 'A'},
{'2': 'B'},
{'3': 'C'}]

Pass list of dicts into pd.DataFrame():

df = pd.DataFrame(a)

Actual results:

    1   2   3
0   A   NaN NaN
1   NaN B   NaN
2   NaN NaN C
pd.DataFrame(a, columns=['Key', 'Value'])

Actual results:

    Key     Value
0   NaN     NaN
1   NaN     NaN
2   NaN     NaN

Expected results:

    Key Value   
0   1   A
1   2   B   
2   3   C

Upvotes: 2

Views: 100

Answers (2)

Mohamed Thasin ah
Mohamed Thasin ah

Reputation: 11192

try this,

from collections import ChainMap
data = dict(ChainMap(*a))
pd.DataFrame(data.items(), columns= ['Key','Value'])

O/P:

  Key Value
0   1     A
1   2     B
2   3     C

Upvotes: 1

anky
anky

Reputation: 75080

Something like this with a list comprehension:

pd.DataFrame(([(x, y) for i in a for x, y in i.items()]),columns=['Key','Value'])

  Key Value
0   1     A
1   2     B
2   3     C

Upvotes: 1

Related Questions