Pandas DataFrame | reset_index method
Start your free 7-days trial now!
Pandas's DataFrame.reset_index(~) resets the index to the default integer index.
Parameters
1. level | int or string or tuple or list | optional
The levels to reset. This is only relevant if your DataFrame is multi-index. By default, level=None.
2. drop | boolean | optional
If
True, then the current index will not be added to the DataFrame.If
False, then current index will be added to the DataFrame.
By default, drop=False.
3. inplace | boolean | optional
If
True, then the source DataFrame will be modified directly.If
False, then a new DataFrame will be returned.
By default, inplace=False.
4. col_level | int or string | optional
The column levels to place the resetted index. This is only relevant if DataFrame has multi-index columns. By default, col_level=None.
5. col_fill | scalar | optional
The name assigned to the other column levels in the same hierarchy. This is only relevant if DataFrame has multi-index columns. By default, col_fill="".
Return Value
A DataFrame with the index reset to the default integer index.
Examples
Consider the following DataFrame:
df = pd.DataFrame({"A":[3,4], "B":[5,6]}, index=["a","b"])df
A Ba 3 5b 4 6
Reseting the index
Single-index DataFrames
To reset the index of df:
df.reset_index()
index A B0 a 3 51 b 4 6
Note the following:
the default integer indices (
[0,1]) is the new indexthe label of the new column is
"index"
Multi-index DataFrames
Consider the following multi-index DataFrame:
index = [("A", "alice"), ("A", "bob"),("A", "cathy"), ("B", "david"),("B", "eric")]multi_index = pd.MultiIndex.from_tuples(index)df = pd.DataFrame({"a":[2,3,4,5,6]}, index=multi_index)df
aA alice 2 bob 3 cathy 4B david 5 eric 6
By default, level=None, which means that all levels will be reset:
df.reset_index()
level_0 level_1 a0 A alice 21 A bob 32 A cathy 43 B david 54 B eric 6
Notice how the new columns are labelled as level_0 and level_1.
To reset a particular level, pass in level like so:
df.reset_index(level=0)
level_0 aalice A 2bob A 3cathy A 4david B 5eric B 6
Dropping the index
Consider the following DataFrame:
df
A Ba 3 5b 4 6
The default behaviour is to prepend the index to the DataFrame as a column. To prevent this, set drop=True:
df.reset_index(drop=True)
A B0 3 51 4 6
Notice how no new column was added to the DataFrame.
Reseting the index in-place
To reset the index in-place, set inplace=True:
df.reset_index(inplace=True)df
index A B0 a 3 51 b 4 6
Notice how the original df has been directly modified.