reset_index(self, level=None, drop=False, name=<no_default>, inplace=False)
This is useful when the index needs to be treated as a column, or when the index is meaningless and needs to be reset to the default before another operation.
For a Series with a MultiIndex, only remove the specified levels from the index. Removes all levels by default.
Just reset the index, without inserting it as a column in the new DataFrame.
The name to use for the column containing the original Series values. Uses self.name
by default. This argument is ignored when drop
is True.
Modify the Series in place (do not create a new object).
When drop
is False (the default), a DataFrame is returned. The newly created columns will come first in the DataFrame, followed by the original Series values. When drop
is True, a Series
is returned. In either case, if inplace=True
, no value is returned.
Generate a new DataFrame or Series with the index reset.
DataFrame.reset_index
Analogous function for DataFrame.
>>> s = pd.Series([1, 2, 3, 4], name='foo',
... index=pd.Index(['a', 'b', 'c', 'd'], name='idx'))
Generate a DataFrame with default index.
This example is valid syntax, but we were not able to check execution>>> s.reset_index() idx foo 0 a 1 1 b 2 2 c 3 3 d 4
To specify the name of the new column use :None:None:`name`
.
>>> s.reset_index(name='values') idx values 0 a 1 1 b 2 2 c 3 3 d 4
To generate a new Series with the default set drop
to True.
>>> s.reset_index(drop=True) 0 1 1 2 2 3 3 4 Name: foo, dtype: int64
To update the Series in place, without generating a new one set :None:None:`inplace`
to True. Note that it also requires drop=True
.
>>> s.reset_index(inplace=True, drop=True)
... s 0 1 1 2 2 3 3 4 Name: foo, dtype: int64
The :None:None:`level`
parameter is interesting for Series with a multi-level index.
>>> arrays = [np.array(['bar', 'bar', 'baz', 'baz']),
... np.array(['one', 'two', 'one', 'two'])]
... s2 = pd.Series(
... range(4), name='foo',
... index=pd.MultiIndex.from_arrays(arrays,
... names=['a', 'b']))
To remove a specific level from the Index, use :None:None:`level`
.
>>> s2.reset_index(level='a') a foo b one bar 0 two bar 1 one baz 2 two baz 3
If :None:None:`level`
is not set, all levels are removed from the Index.
>>> s2.reset_index() a b foo 0 bar one 0 1 bar two 1 2 baz one 2 3 baz two 3See :
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them