How to Convert Pandas Index to a List (With Examples)

The pandas library for Python enables users to convert their pandas index object to a list. This can be done by leveraging the tolist() method on the index. This method will return the index as a list of labels. It is important to note that if the index is made up of tuples, then the tolist() method will return a list of tuples. Additionally, if the index is made up of multiple levels, then the tolist() method will return a list of tuples with each tuple representing a level in the index. Examples of this conversion are provided below.


You can use one of the following two methods to convert the index of a pandas DataFrame to a list:

Method 1: Use list()

index_list = list(df.index.values)

Method 2: Use tolist()

index_list = df.index.values.tolist()

Both methods will return the exact same result, but the second method will tend to be faster on extremely large DataFrames.

The following examples show how to use each method with the following pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team	points	assists	rebounds
0	A	18	5	11
1	B	22	7	8
2	C	19	7	10
3	D	14	9	6
4	E	14	12	6
5	F	11	9	5
6	G	20	9	9
7	H	28	4	12

Method 1: Use list()

The following code shows how to use list() to quickly convert the index of the pandas DataFrame to a list:

#convert index to list
index_list = list(df.index.values)

#view list
index_list

[0, 1, 2, 3, 4, 5, 6, 7]

Notice that the list contains the original values in the index of the DataFrame.

We can also use type() to verify that the result is a list:

#check object type
type(index_list)

list

Method 2: Use tolist()

The following code shows how to use list() to quickly convert the index of the pandas DataFrame to a list:

#convert index to list
index_list = df.index.values.tolist()

#view list
index_list

[0, 1, 2, 3, 4, 5, 6, 7]

We can also use type() to verify that the result is a list:

#check object type
type(index_list)

list

x