Series.reset_index(level: Union[int, Any, Tuple[Any, …], Sequence[Union[int, Any, Tuple[Any, …]]], None] = None, drop: bool = False, name: Union[Any, Tuple[Any, …], None] = None, inplace: bool = False) → Union[pyspark.pandas.series.Series, pyspark.pandas.frame.DataFrame, None][source]

Generate a new DataFrame or Series with the index reset.

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.

levelint, 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.

dropbool, default False

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

nameobject, optional

The name to use for the column containing the original Series values. Uses by default. This argument is ignored when drop is True.

inplacebool, default False

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

Series or DataFrame

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.


>>> s = ps.Series([1, 2, 3, 4], index=pd.Index(['a', 'b', 'c', 'd'], name='idx'))

Generate a DataFrame with default index.

>>> s.reset_index()
  idx  0
0   a  1
1   b  2
2   c  3
3   d  4

To specify the name of the new column use 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
dtype: int64

To update the Series in place, without generating a new one set 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
dtype: int64