Python Pandas - Create a DataFrame from original index but enforce a new index

To create a DataFrame from an original index but enforce a new index, use the to_frame() method with the parameter index=False. This replaces the original index with a default integer index.

Syntax

index.to_frame(index=False)

Parameters

index ? When set to False, the original index is replaced with a default RangeIndex (0, 1, 2...)

Creating a DataFrame with Enforced New Index

First, create a Pandas index and then convert it to a DataFrame ?

import pandas as pd

# Creating Pandas index
index = pd.Index(['Electronics','Accessories','Decor', 'Books', 'Toys'], name='Products')

# Display the original index
print("Original Index:")
print(index)

# Convert index to DataFrame with enforced new index
df = index.to_frame(index=False)
print("\nDataFrame with new index:")
print(df)
Original Index:
Index(['Electronics', 'Accessories', 'Decor', 'Books', 'Toys'], dtype='object', name='Products')

DataFrame with new index:
    Products
0 Electronics
1 Accessories
2       Decor
3       Books
4        Toys

Comparison with Default Behavior

See the difference between index=True (default) and index=False ?

import pandas as pd

index = pd.Index(['Electronics','Accessories','Decor', 'Books', 'Toys'], name='Products')

# Default behavior (index=True)
df_default = index.to_frame()
print("Default (index=True):")
print(df_default)

# With index=False
df_new_index = index.to_frame(index=False)
print("\nWith index=False:")
print(df_new_index)
Default (index=True):
            Products
Electronics Electronics
Accessories Accessories
Decor             Decor
Books             Books
Toys               Toys

With index=False:
    Products
0 Electronics
1 Accessories
2       Decor
3       Books
4        Toys

Comparison

Parameter Index Used Use Case
index=True (default) Original index values Preserve original index
index=False New RangeIndex (0,1,2...) Reset to default index

Conclusion

Use to_frame(index=False) to convert an index to a DataFrame with a fresh integer index. This is useful when you want the index values as data columns without preserving the original index structure.

Updated on: 2026-03-26T16:10:42+05:30

294 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements