pandas 1.4.2

ParametersReturns
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.

Parameters

level : int, str, tuple, or list, default optional

For a Series with a MultiIndex, only remove the specified levels from the index. Removes all levels by default.

drop : bool, default False

Just reset the index, without inserting it as a column in the new DataFrame.

name : object, optional

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.

inplace : bool, default False

Modify the Series in place (do not create a new object).

Returns

Series or DataFrame or None

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.

See Also

DataFrame.reset_index

Analogous function for DataFrame.

Examples

This example is valid syntax, but we were not able to check execution
>>> 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`.

This example is valid syntax, but we were not able to check execution
>>> 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.

This example is valid syntax, but we were not able to check execution
>>> 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 .

This example is valid syntax, but we were not able to check execution
>>> 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.

This example is valid syntax, but we were not able to check execution
>>> 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`.

This example is valid syntax, but we were not able to check execution
>>> 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.

This example is valid syntax, but we were not able to check execution
>>> s2.reset_index()
     a    b  foo
0  bar  one    0
1  bar  two    1
2  baz  one    2
3  baz  two    3
See :

Local connectivity graph

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


File: /pandas/core/series.py#1355
type: <class 'function'>
Commit: