Pandas reset index is not taking effect

As an extension of in code veritas's answer... instead of doing del at the end:

test = test.reset_index()
del test['index']

You can set drop to True.

test = test.reset_index(drop=True)

reset_index by default does not modify the DataFrame; it returns a new DataFrame with the reset index. If you want to modify the original, use the inplace argument: df.reset_index(drop=True, inplace=True). Alternatively, assign the result of reset_index by doing df = df.reset_index(drop=True).


BrenBarn's answer works.

The following also worked via this thread, which isn't a troubleshooting so much as an articulation of how to reset the index:

test = test.reset_index(drop=True)

I would add to in code veritas's answer:

If you already have an index column specified, then you can save the del, of course. In my hypothetical example:

    df_total_sales_customers = pd.DataFrame({'Sales': total_sales_customers['Sales'],
                              'Customers': total_sales_customers['Customers']}, index = total_sales_customers.index)

    df_total_sales_customers = df_total_sales_customers.reset_index()