You can use the following syntax to convert a pandas DataFrame to a dictionary:

df.to_dict()

Note that **to_dict()** accepts the following potential arguments:

**dict:**(default) Keys are column names. Values are dictionaries of index:data pairs.**list:**Keys are column names. Values are lists of column data.**series:**Keys are column names. Values are Series of column data.**split:**Keys are ‘columns’, ‘data’, and ‘index’.**records:**Keys are column names. Values are data in cells.**index:**Keys are index labels. Values are data in cells.

The following examples show how to use this syntax in practice with the following pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'C'], 'points': [5, 7, 9, 12, 9], 'rebounds': [11, 8, 6, 6, 5]}) #view DataFrame df team points rebounds 0 A 5 11 1 A 7 8 2 B 9 6 3 B 12 6 4 C 9 5

**Example 1: Convert DataFrame to Dictionary (‘dict’)**

The following code shows how to convert a pandas DataFrame to a dictionary using the default ‘**dict**‘ method:

df.to_dict() {'team': {0: 'A', 1: 'A', 2: 'B', 3: 'B', 4: 'C'}, 'points': {0: 5, 1: 7, 2: 9, 3: 12, 4: 9}, 'rebounds': {0: 11, 1: 8, 2: 6, 3: 6, 4: 5}}

**Example 2: ****Convert DataFrame to Dictionary (‘list’)**

The following code shows how to convert a pandas DataFrame to a dictionary using the ‘**list**‘ method:

df.to_dict('list') {'team': ['A', 'A', 'B', 'B', 'C'], 'points': [5, 7, 9, 12, 9], 'rebounds': [11, 8, 6, 6, 5]}

**Example 3: ****Convert DataFrame to Dictionary (‘series’)**

The following code shows how to convert a pandas DataFrame to a dictionary using the ‘**series**‘ method:

df.to_dict('series') {'team': 0 A 1 A 2 B 3 B 4 C Name: team, dtype: object, 'points': 0 5 1 7 2 9 3 12 4 9 Name: points, dtype: int64, 'rebounds': 0 11 1 8 2 6 3 6 4 5 Name: rebounds, dtype: int64}

**Example 4: ****Convert DataFrame to Dictionary (‘split’)**

The following code shows how to convert a pandas DataFrame to a dictionary using the ‘**split**‘ method:

df.to_dict('split') {'index': [0, 1, 2, 3, 4], 'columns': ['team', 'points', 'rebounds'], 'data': [['A', 5, 11], ['A', 7, 8], ['B', 9, 6], ['B', 12, 6], ['C', 9, 5]]}

**Example 5: ****Convert DataFrame to Dictionary (‘records’)**

The following code shows how to convert a pandas DataFrame to a dictionary using the ‘**records**‘ method:

df.to_dict('records') [{'team': 'A', 'points': 5, 'rebounds': 11}, {'team': 'A', 'points': 7, 'rebounds': 8}, {'team': 'B', 'points': 9, 'rebounds': 6}, {'team': 'B', 'points': 12, 'rebounds': 6}, {'team': 'C', 'points': 9, 'rebounds': 5}]

**Example 6: ****Convert DataFrame to Dictionary (‘index’)**

The following code shows how to convert a pandas DataFrame to a dictionary using the ‘**index**‘ method:

df.to_dict('index') {0: {'team': 'A', 'points': 5, 'rebounds': 11}, 1: {'team': 'A', 'points': 7, 'rebounds': 8}, 2: {'team': 'B', 'points': 9, 'rebounds': 6}, 3: {'team': 'B', 'points': 12, 'rebounds': 6}, 4: {'team': 'C', 'points': 9, 'rebounds': 5}}

**Additional Resources**

The following tutorials explain how to perform other common data conversions in pandas:

How to Convert Pandas DataFrame to NumPy Array

How to Convert Pandas Series to NumPy Array

How to Convert Pandas DataFrame to List