In this tutorial we will discuss how to convert list of dictionaries to pandas DataFrame.
Different methods used to convert list of dictionaries to DataFrame
List of dictionaries means a set of dictionaries stored in a list separated by comma. So we are going to pass this list of dictionaries to the pandas DataFrame.
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]Methods Used:
- Using
pandas.DataFrame() - Using pandas.DataFrame() with
index - Using pandas.DataFrame() with
index and columns - Using pandas.DataFrame() with
from_records()function - Using pandas.DataFrame() with
from_records() function with index - Using pandas.DataFrame() with
from_records() function with index and columns - Using pandas.DataFrame() with
from_dict()function - Using pandas.DataFrame() with
json_normalize()function
Method 1 : Using pandas.DataFrame()
We are passing the list of dictionaries to the pandas dataframe using
pandas.DataFrame()
Syntax:
pandas.DataFrame(list_of_dictionaries)where, list_of_dictionaries is the input list of dictionaries
Example: Python program to pass list of dictionaries to a dataframe.
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame(book)
# display dataframe
print(dataframe)Output:
id name price no_of_pages
0 1 python 56 34
1 2 Node-js 45 54
2 3 R 100 80
3 4 Html 16 20
Method 2 : Using pandas.DataFrame() with index
We are passing the list of dictionaries to the pandas dataframe using
pandas.DataFrame() with index labels
Syntax:
pandas.DataFrame(list_of_dictionaries,index)where,
list_of_dictionariesis the input list of dictionaries- index is to provide the
index labelsin a list
Example 1:Python program to pass list of dictionaries to a dataframe with indices.
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame(book,index=[10,20,30,40])
# display dataframe
print(dataframe)Output:
id name price no_of_pages
10 1 python 56 34
20 2 Node-js 45 54
30 3 R 100 80
40 4 Html 16 20
We can also pass string variables as indices
Example 2:Python program to pass list of dictionaries to a dataframe with indices.
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame(book,index=['A','B','C','D'])
# display dataframe
print(dataframe)Output:
id name price no_of_pages
A 1 python 56 34
B 2 Node-js 45 54
C 3 R 100 80
D 4 Html 16 20
Method 3 : Using pandas.DataFrame() with index and columns
We are passing the list of dictionaries to the pandas dataframe using
pandas.DataFrame() with index labels and column names
Syntax:
pandas.DataFrame(list_of_dictionaries,index,columns)where,
list_of_dictionariesis the input list of dictionariesindexis to provide the index labels in a listcolumnsare the column names to provide column names in a list
Example:Python program to pass list of dictionaries to a dataframe with index and columns.
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame(book,index=[10,20,30,40],columns=['no_of_pages','price','name','id'])
# display dataframe
print(dataframe)Output:
no_of_pages price name id
10 34 56 python 1
20 54 45 Node-js 2
30 80 100 R 3
40 20 16 Html 4
Method 4 : Using pandas.DataFrame() with from_records() function
Here we are using from_records() function to pass list of dictionaries
to the pandas dataframe.
Syntax:
pandas.DataFrame.from_records(list_of_dictionaries)where, list_of_dictionaries is the input list of dictionaries
Example:Python program to pass list of dictionaries to the pandas
dataframe with from_records()
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame.from_records(book)
# display dataframe
print(dataframe)Output:
id name price no_of_pages
0 1 python 56 34
1 2 Node-js 45 54
2 3 R 100 80
3 4 Html 16 20
Method 5 : Using pandas.DataFrame() with from_records() function with index
Here we are using from_records() function to pass list of dictionaries
to the pandas dataframe with index.
Syntax:
pandas.DataFrame.from_records(list_of_dictionaries,index)where,
list_of_dictionariesis the input list of dictionaries- index is to provide the index labels in a list
Example 1:Python program to pass list of dictionaries to a dataframe with indices.
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame.from_records(book,index=[10,20,30,40])
# display dataframe
print(dataframe)Output:
id name price no_of_pages
10 1 python 56 34
20 2 Node-js 45 54
30 3 R 100 80
40 4 Html 16 20
**Example 2:**We can also pass string variables as indices
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame.from_records(book,index=['A','B','C','D'])
# display dataframe
print(dataframe)Output:
id name price no_of_pages
A 1 python 56 34
B 2 Node-js 45 54
C 3 R 100 80
D 4 Html 16 20
Method 6 : Using pandas.DataFrame() with from_records() function with index and columns
We are passing the list of dictionaries to the pandas dataframe using
pandas.DataFrame() with from_records() function with
index labels and column names
Syntax:
pandas.DataFrame.from_records(list_of_dictionaries,index,columns)where,
list_of_dictionariesis the input list of dictionariesindexis to provide the index labels in a listcolumnsare the column names to provide column names in a list
Example:Python program to pass list of dictionaries to a dataframe with index and columns.
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame(book,index=[10,20,30,40],columns=['no_of_pages','price','name','id'])
# display dataframe
print(dataframe)Output:
no_of_pages price name id
10 34 56 python 1
20 54 45 Node-js 2
30 80 100 R 3
40 20 16 Html 4
Method 7 : Using pandas.DataFrame() with from_dict() function
Here we are using from_dict() function to pass list of dictionaries to
the pandas dataframe.
Syntax:
pandas.DataFrame.from_dict(list_of_dictionaries)where, list_of_dictionaries is the input list of dictionaries
Example:Python program to pass list of dictionaries to the pandas
dataframe with from_dict()
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.DataFrame.from_dict(book)
# display dataframe
print(dataframe)Output:
id name price no_of_pages
0 1 python 56 34
1 2 Node-js 45 54
2 3 R 100 80
3 4 Html 16 20
Method 8 : Using pandas.DataFrame() with json_normalize() function
Here we are using json_normalize() function to pass list of
dictionaries to the pandas dataframe.
Syntax:
pandas.json_normalize(list_of_dictionaries)where, list_of_dictionaries is the input list of dictionaries
Example:Python program to pass list of dictionaries to the pandas
dataframe with json_normalize()
# import the module
import pandas
# consider the food data in a list of dictionary
book = [{'id':1,'name':'python','price':56,'no_of_pages':34},
{'id':2,'name':'Node-js','price':45,'no_of_pages':54},
{'id':3,'name':'R','price':100,'no_of_pages':80},
{'id':4,'name':'Html','price':16,'no_of_pages':20}]
# pass this book to the dataframe
dataframe=pandas.json_normalize(book)
# display dataframe
print(dataframe)Output:
id name price no_of_pages
0 1 python 56 34
1 2 Node-js 45 54
2 3 R 100 80
3 4 Html 16 20
Summary
In this tutorial , we discussed how to convert list of dictionaries to
the pandas dataframe using
pandas.DataFrame() method, from_records(),json_normalize() and from_dict()
functions. For two functions except from_dict() and json_normalize(),
we discussed index and columns parameter.

![Convert list of dictionaries to DataFrame [Practical Examples]](/pandas-convert-list-of-dictionaries-to-dataframe/pandas_dict_to_dataframe-800w.webp)

![Pandas Pivot Simplified [In-Depth Tutorial]](/pandas-pivot/python-pandas-pivot_hu_dc49d2c8eb5c965b.webp)
![How to export Python Data Frame to SQL File? [SOLVED]](/how-to-export-python-data-frame-to-sql-file/python-to_sql_hu_70b9ee1fdd36d4a0.webp)
![Convert entire dataframe to lower case [SOLVED]](/lower-case-entire-dataframe/lower-case-entire-dataframe_hu_1bf7489e7caf1ce.webp)
![Convert DataFrame to CSV in Python [With Best Practices]](/convert-pandas-dataframe-to-csv/pandas_to_csv_hu_7e41177f25fde549.webp)

![How to use pandas.Series.map() [Practical Examples]](/panads-series-map-examples/pandas_map_hu_d809cf7fc81fe2f.webp)
![Add Empty Column(s) to Pandas DataFrame [6 Methods]](/add-empty-column-to-pandas-dataframe/pandas_add_empty_column_hu_107fb72230761dd4.webp)
![Pandas to_datetime() Usage Explained [Practical Examples]](/pandas-to-datetime-examples/pandas_to_datetime_hu_95ca8065821e3764.webp)