To convert an index to a list in Pandas DataFrame, use the Index.tolist(), Index.values.tolist() and list() functions. These functions are used to return a list of values. In this article, I will explain how to convert the Pandas DataFrame index to a list by using list(), index.tolist(), and index.values functions with examples.
Key Points –
- Pandas DataFrames and Series provide a
tolist()method to directly convert their index to a Python list. - The built-in
list()function can be applied directly to the Pandas index to achieve the same result astolist(). - The conversion of a Pandas index to a list can be achieved using built-in functions like
tolist()or the genericlist()function. - Before converting the index to a list, you may choose to reset the index using
reset_index()to reassign a default integer index. - You can convert the index to a list without using Pandas methods by directly applying the
list()function to the index. - The resulting list contains elements in their original data types (e.g., integers, strings, timestamps).
- It works for all Index types, including
RangeIndex,Index,DatetimeIndex, andMultiIndexlevels.
<a id="h-quick-examples-of-convert-index-to-list"></a>
Quick Examples of Convert Index to List
If you are in a hurry, below are some quick examples of how to convert the index to a list in DataFrame.
# Quick examples of convert index to list
# Example 1: Use tolist() function
# To convert index to list
df2 = df.index.tolist()
# Example 2: Convert the index as list
# Using tolist()
df2 = df.index.values.tolist()
# Example 3: Convert the index into a list
df2 = list(df.index)
# Example 4: Use list() function
# To convert index as a list
df2 = list(df.index.values)
<a id="h-syntax-of-index-tolist"></a>
Syntax of Index.tolist()
Following is the syntax of the Pandas Index.tolist() function.
# Syntax of Index.tolist()
Index.tolist()
It returns a list of the values.
Now, Let’s create Pandas DataFrame using data from a Python dictionary, where the columns are Courses, Fee, Duration and Discount.
import pandas as pd
import numpy as np
technologies= ({
'Courses':["Spark","PySpark","Hadoop","Pandas"],
'Fee' :['22000','25000','24000','26000'],
'Duration':['30days','50days','40days','60days'],
'Discount':['1000','2300','2500','1400']
})
df = pd.DataFrame(technologies, index = ['r1', 'r2', 'r3', 'r4'])
print(df)
Yields below output.
# Output:
Courses Fee Duration Discount
r1 Spark 22000 30days 1000
r2 PySpark 25000 50days 2300
r3 Hadoop 24000 40days 2500
r4 Pandas 26000 60days 1400
<a id="h-convert-index-to-list-using-tolist"></a>
Convert Index to List using tolist()
We can use the Pandas DataFrame.index.tolist() function to convert a DataFrame index to a list object. pandas.Index is a basic object that stores axis labels for all pandas objects. The Index is a type of class pandas.core.indexes.base.Index
# Use tolist() function
# To convert index to list
df2 = df.index.tolist()
print(df2)
In the above example, df.index.tolist() is used to convert the DataFrame's index to a Python list. When you run this code, it will print the list of index values: ['r1', 'r2', 'r3', 'r4']. This example yields the below output.
# Output:
['r1', 'r2', 'r3', 'r4']
Alternatively, another approach to convert the index of a Pandas DataFrame to a list is by using the values attribute along with tolist().
# Using df.index.values
df2 = df.index.values.tolist()
print(df2)
This program achieves the same result as df.index.tolist() and will print the list of index values: ['r1','r2','r3','r4']. The values attribute returns a NumPy array, and tolist() converts it to a Python list.
<a id="h-convert-the-index-as-a-list-using-list"></a>
Convert the Index as a List Using list()
You can also use the Python list() function to convert the pandas index to a list object. This function takes an object as an argument you want to convert, I am using DataFrame.Index object as an argument.
# Use list() function
# To convert index as a list
df2 = list(df.index)
print(df2)
In the above example, list(df.index) is used to convert the DataFrame's index to a Python list. When you run this code, it will print the list of index values: ['r1', 'r2', 'r3', 'r4']. Yields the same output as above.
Similarly, we could also pass DataFrame.index.values as a param. index.values actually, return a NumPy object, so here we are actually converting NumPy to List. It uses the list() function along with the values attribute to convert the index of the Pandas DataFrame to a Python list.
# Convert the index into a list
df2 = list(df.index.values)
print(df2)
Yields the same output as above.
<a id="h-complete-example-for-convert-index-as-a-list"></a>
Complete Example For Convert Index as a List
import pandas as pd
import numpy as np
technologies= ({
'Courses':["Spark","PySpark","Hadoop","Pandas"],
'Fee' :['22000','25000','24000','26000'],
'Duration':['30days','50days','40days','60days'],
'Discount':['1000','2300','2500','1400']
})
df = pd.DataFrame(technologies, index = ['r1', 'r2', 'r3', 'r4'])
print(df)
# Use tolist() function
# To convert index to list
df2 = df.index.tolist()
print(df2)
# convert the index as list
# Using tolist()
df2 = df.index.values.tolist()
print(df2)
# Convert the index into a list
df2 = list(df.index)
print(df2)
# Use list() function
# To convert index as a list
df2 = list(df.index.values)
print(df2)
<a id="h-frequently-asked-questions-on-convert-index-to-list"></a>
Frequently Asked Questions on Convert Index to List
You can convert the index of a Pandas DataFrame or Series to a list in Python using the tolist() method or by using the list() function.
You can absolutely convert the index of a Pandas Series to a list in a similar way as you would for a DataFrame. You can use either the tolist() method or the list() function.
There is an alternative method to convert the index of a Pandas DataFrame or Series to a list using the tolist() or list() function. Another approach is to use the built-in list() constructor directly on the index object.
If you want to reset the index of a Pandas DataFrame or Series before converting it to a list, you can use the reset_index() method, which brings the current index into a new column and assigns a default integer index. After resetting the index, you can then use the tolist() or list() function to convert the new index to a list.
You can convert the index to a list without using any Pandas methods. You can directly use the list() function on the Pandas DataFrame or Series index.
<a id="h-conclusion"></a>
Conclusion
In this article, I have explained how to convert an index to a list in Pandas DataFrame by using Index.tolist(), list(), and index.values.tolist() function with examples.
Happy Learning !!
Related Articles
- Pandas Filter by Index
- Pandas Drop Rows by Index
- Pandas Get Index from DataFrame?
- Pandas set index name to DataFrame
- How to Get Index of Series in Pandas
- Convert Pandas DatetimeIndex to String
- Pandas DataFrame reindex() Function
- Pandas Set Column as Index in DataFrame
- Pandas.Index.drop_duplicates() Explained
- Pandas Convert Dictionary to DataFrame
- Pandas Set Index to Column in DataFrame
- How to Rename Column by Index in Pandas
- Pandas set_index() – Set Index to DataFrame
- Pandas Convert Integer to String in DataFrame
- Pandas Convert Floats to Strings in DataFrame
- Pandas Convert Boolean to String in DataFrame
- Pandas Get Column Name by Index or Position
- Series.reindex()-Change the Index Order in Pandas Series
- Convert Multiple Columns to String in Pandas DataFrame
- Pandas Set Value to Particular Cell in DataFrame Using Index
<a id="h-references"></a>
