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.