How to convert Pandas DataFrame to list of Dictionaries?

Given a DataFrame, we have to convert it into a list of dictionaries. By Pranit Sharma Last updated : September 20, 2023

DataFrames are 2-dimensional data structure in pandas. DataFrames consists of rows, columns and the data. DataFrame can be created with the help of python dictionaries or lists but here we are going to learn how to create a list of dictionaries from pandas DataFrame.

Problem statement

Given a DataFrame, we have to convert it into a list of dictionaries.

Converting Pandas DataFrame to list of Dictionaries

To convert Pandas DataFrame to list of Dictionaries, pandas provide us pandas.DataFrame.to_dict() method, which will allow us to achieve this task. This method is used to convert a DataFrame into list of dictionaries which will looks like a JSON. It takes few parameters like dict, list, series, split, records, index which are passed inside the method.

Syntax:

DataFrame.to_dict(
    orient='dict', 
    into=<class 'dict'>
    )
Note

To work with pandas, we need to import pandas package first, below is the syntax:

import pandas as pd

Let us understand with the help of an example.

Python program to convert Pandas DataFrame to list of Dictionaries

# Importing pandas package
import pandas as pd

# creating a dictionary of student marks
d = {
    "Players":['Sachin','Ganguly','Dravid','Yuvraj','Dhoni','Kohli',
              'Sachin','Ganguly','Dravid','Yuvraj','Dhoni','Kohli'],
    "Format":['Test','Test','Test','Test','Test','Test',
             'ODI','ODI','ODI','ODI','ODI','ODI'],
    "Runs":[15921,7212,13228,1900,4876,8043,
           18426,11363,10889,8701,10773,12311]
}

# Now we will create DataFrame
df = pd.DataFrame(d)

# Viewing the DataFrame
print("Original DataFrame:\n",df,"\n\n")

# Converting this DataFrame into list of dictionary
result = df.to_dict()

# Display result
print("Converted Dictionary:\n",result)

Output

The output of the above program is:

Original DataFrame:
     Players Format   Runs
0    Sachin   Test  15921
1   Ganguly   Test   7212
2    Dravid   Test  13228
3    Yuvraj   Test   1900
4     Dhoni   Test   4876
5     Kohli   Test   8043
6    Sachin    ODI  18426
7   Ganguly    ODI  11363
8    Dravid    ODI  10889
9    Yuvraj    ODI   8701
10    Dhoni    ODI  10773
11    Kohli    ODI  12311 


Converted Dictionary:
 {'Players': {0: 'Sachin', 1: 'Ganguly', 2: 'Dravid', 3: 'Yuvraj', 4: 'Dhoni', 5: 'Kohli', 6: 'Sachin', 7: 'Ganguly', 8: 'Dravid', 9: 'Yuvraj', 10: 'Dhoni', 11: 'Kohli'}, 'Format': {0: 'Test', 1: 'Test', 2: 'Test', 3: 'Test', 4: 'Test', 5: 'Test', 6: 'ODI', 7: 'ODI', 8: 'ODI', 9: 'ODI', 10: 'ODI', 11: 'ODI'}, 'Runs': {0: 15921, 1: 7212, 2: 13228, 3: 1900, 4: 4876, 5: 8043, 6: 18426, 7: 11363, 8: 10889, 9: 8701, 10: 10773, 11: 12311}}

Python Pandas Programs »


Comments and Discussions!

Load comments ↻






Copyright © 2024 www.includehelp.com. All rights reserved.