How to Convert Dictionary To Pandas Dataframe in Python – With Examples

Python dictionaries are used to store values as keys and values. You need to convert dictionaries to pandas dataframe to manipulate data for machine learning activities.

You can convert a dictionary to Pandas Dataframe using df = pd.DataFrame.from_dict(my_dict) statement.

In this tutorial, you’ll learn the different methods available to convert python dict to Pandas dataframe.

If You’re in Hurry…

You can use the below code snippet to convert the python dictionary to Pandas Dataframe.

import pandas as pd

my_dict = {"S.No.": [1], "Item":["CPU"], "Quantity": [3], "Price": [5000]}

df = pd.DataFrame.from_dict(my_dict)

df

Output

S.NO.ItemQuantityPrice
01CPU35000

If You Want to Understand Details, Read on…

You can use the from_dict() method and you can orient the dictionary keys as columns or rows of the Pandas Dataframe. Let’s look into the detail.

Convert Dictionary To Pandas Dataframe using from_Dict()

Pandas Dataframe provides the from_dict() method to create a Pandas Dataframe using a Dictionary object.

It accepts a

  • Dictionary – Dictionary with data to create dataframe. Mandatory
  • orient – To specify the orientation. Whether dictionary must be rows or columns of a dataframe.
  • dtype – Datatype for the data in the pandas dataframe. Optional. The datatype of the data in the dictionary will be infered by default.
  • columns – list of name for columns, default None. Column labels to use when orient='index'. It raises a ValueError if used with orient='columns' or orient='tight', becuase dictionary key will be used as column names in these cases.

Read How to Add Keys to Dictionary to learn more about creating and adding keys to dictionaries.

The below code demonstrates how to create a pandas dataframe using a dictionary.

It uses only the mandatory parameter dictionary to create a pandas dataframe. Other options are explained in the subsequent sections of this tutorial.

You can use this method when the values of the dictionaries are in the list form. If not, you’ll face, If using all scalar values, you must pass an index error. You can refer to the next section if your dictionary key values are NOT in the list form.

Code

import pandas as pd

my_dict = {"S.No.": [1], "Item":["CPU"], "Quantity": [3], "Price": [5000]}

df = pd.DataFrame.from_dict(my_dict)

df

A pandas dataframe is created using the values in the dictionary.

S.NO.ItemQuantityPrice
01CPU35000

Convert Dictionary To Dataframe Using List of Items

You can convert dictionary to pandas dataframe by creating a list of Dictionary items using the list(my_dict.items()). Also, you can pass the column header values using the columns paramter.

When to Use this method

When the values of the Dictionary keys are not a list of values.

Code

import pandas as pd

my_dict = {"S.No.": 1, "Item":"CPU", "Quantity": 3, "Price": 5000}

df = pd.DataFrame(list(my_dict.items()), columns = ['Name','Value'])

df

The pandas dataframe will be created with the dictionary keys as rows when using this method.

Output

Namevalue
0S.No.1
1ItemCPU
2Quantity3
3Price5000

Convert Dictionary To Dataframe With Keys As Rows

In this section, you’ll learn how to convert a dictionary to pandas dataframe with Dictionary keys as rows in the pandas dataframe.

You can do this by using the orient = 'index' parameter in the from_dict() method as demonstrated below.

Code

import pandas as pd

my_dict = {"S.No.": [1], "Item":["CPU"], "Quantity": [3], "Price": [5000]}

df = pd.DataFrame.from_dict(my_dict, orient = 'index')

df

The dataframe is created with the dictionary keys as rows as shown below.

Output

0
S.NO.1
ItemCPU
Quantity3
Price5000

Convert Dictionary To Dataframe With Keys As Columns

In this section, you’ll learn how to convert a dictionary to a pandas dataframe with Dictionary keys as columns in the pandas dataframe.

You can do this by using the orient = 'columns' parameter in the from_dict() method as demonstrated below.

This is the default behavior of the from_dict() method.

Code

import pandas as pd

my_dict = {"S.No.": [1], "Item":["CPU"], "Quantity": [3], "Price": [5000]}

df = pd.DataFrame.from_dict(my_dict, orient = 'columns')

df

The dataframe is created with the dictionary keys as rows as shown below.

Output

S.NO.ItemQuantityPrice
01CPU35000

Convert Dictionary To Dataframe With Index

In this section, you’ll learn how to convert dictionary to pandas dataframe with Index column for the dataframe.

The index can be set by using the set_index() method.

The set_index() method accepts the following parameters.

  • keys – label to set as the index(For each row).
  • drop – bool, default True. Delete columns from the dataframe after using it as index column.
  • append – bool, default False. Denotes whether to append columns to existing index.
    inplace – bool, default False . If True, modifies the DataFrame in place (do not create a new object).
  • verify_integrity – bool, default False. Check the new index for duplicates. Otherwise defer the check until necessary. Setting to False will improve the performance of this method. If this is True, error will be thrown when the index keys contains duplicate values.

The below code demonstrates how to convert a dictionary into a dataframe with an index column.

Code

import pandas as pd

my_dict = {"S.No.": [1], "Item":["CPU"], "Quantity": [3], "Price": [5000]}

df = pd.DataFrame(my_dict)  

df = df.set_index('S.NO.')

df

The pandas dataframe is created and the column S.No. is used as index column for the dataframe as shown below.

Output

ItemQuantityPrice
S.NO.
1CPU35000

Convert Dictionary To Dataframe Without Index

In this section, you’ll learn how to convert a dictionary to Pandas Dataframe without an index column.

You can directly use the dictionary object

import pandas as pd

my_dict = {"S.No.": [1], "Item":["CPU"], "Quantity": [3], "Price": [5000]}

df = pd.DataFrame(my_dict)  

df
S.No.ItemQuantityPrice
01CPU35000

Conclusion

In this tutorial, you’ve learned how to convert a dictionary to a pandas dataframe using the from_dict() method and also using the list of values in the dictionary. You’ve also learned how to create a dataframe with dictionary keys as rows and columns, with index columns and without index columns. With this, you can turn the dictionary into a pandas dataframe of any size.

If you’ve any questions, please comment below.

You May Also Like

2 thoughts on “How to Convert Dictionary To Pandas Dataframe in Python – With Examples”

  1. I am writing a comment simply because I LOVED the fact you put the portion in there ‘In Case You Are In A Hurry’. Of course I am and thank you for putting the answer to the main question first instead of some other bullshit so I have to sift through some lecture.

    Reply
    • Thanks, Grover, for taking to time to appreciate even though ‘You’re in a hurry’ 😉

      At stackvidhya, reader’s experience is important than any other metrics like “time spent on a page”.

      We will keep writing more such content.

      Regards,
      Vikram

      Reply

Leave a Comment