Examples

In [1]:
import numpy as np
import pandas as pd
In [2]:
s = pd.Series([2, 3, 4, 5], name='f1',
              index=pd.Index(['p', 'q', 'r', 's'], name='idx'))

Generate a DataFrame with default index.

In [3]:
s.reset_index()
Out[3]:
idx f1
0 p 2
1 q 3
2 r 4
3 s 5

To specify the name of the new column use name.

In [4]:
s.reset_index(name='values')
Out[4]:
idx values
0 p 2
1 q 3
2 r 4
3 s 5

To generate a new Series with the default set drop to True.

In [5]:
s.reset_index(drop=True)
Out[5]:
0    2
1    3
2    4
3    5
Name: f1, dtype: int64

To update the Series in place, without generating a new one set inplace to True. Note that it also
requires drop=True.

In [6]:
s.reset_index(inplace=True, drop=True)
s
Out[6]:
0    2
1    3
2    4
3    5
Name: f1, dtype: int64

The level parameter is interesting for Series with a multi-level index.

In [7]:
arrays = [np.array(['b1', 'b2', 's1', 's2']),
              np.array(['one', 'two', 'one', 'two'])]
In [8]:
s2 = pd.Series(
    range(4), name='f1',
    index=pd.MultiIndex.from_arrays(arrays,
                                    names=['p', 'q']))

To remove a specific level from the Index, use level.

In [9]:
s2.reset_index(level='p')
Out[9]:
p f1
q
one b1 0
two b2 1
one s1 2
two s2 3

If level is not set, all levels are removed from the Index.

In [10]:
s2.reset_index()
Out[10]:
p q f1
0 b1 one 0
1 b2 two 1
2 s1 one 2
3 s2 two 3