Built with Tutify.io

    AIStudyLabs

    pandas reset_index() - Rest Index on DataFrame

    pandas reset_index() - Rest Index on DataFrame

    DataFrame.reset_index() method is used to reset the index on the pandas DataFrame. This takes level, drop, inplace, col_level, col_fill as parameters and returns DataFrame. When inplace=True is used, it returns None. Use pandas.DataFrame.set_index() to set column as index.

    In this article, I will cover how to reset index on pandas DataFrame with several examples. We are usually required to reset the index post dropping some rows from DataFrame as it creates a gap in the index.

    Key Points –

    <a id="h-1-quick-examples-of-pandas-reset-index"></a>

    1. Quick Examples of Pandas Reset Index

    Below are some quick examples of reset index on DataFrame.

    
    # Quick examples of reset index
    
    # Reset index
    df2=df.reset_index()
    
    # Reset index with out assigning to column
    df.reset_index(inplace=True, drop=True)
    
    # Set index column name
    df.index.name = 'custom_index'
    
    # Reset index starting from 1
    df.index = np.arange(1, len(df) + 1)
    

    <a id="h-2-pandas-dataframe-reset-index-syntax"></a>

    2. pandas.DataFrame.reset_index() Syntax

    Following is the syntax of the pandas.DataFrame.reset_index().

    
    DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
    

    Let's create a pandas DataFrame with examples

    
    import pandas as pd
    
    # Create DataFrame from dict
    df = pd.DataFrame({'Courses':['Spark','PySpark','Java','PHP'],
               'Fee':[20000,20000,15000,10000],
               'Duration':['35days','35days','40days','30days']})
    
    df=df.drop([2])
    print(df)
    

    Yields below output

    
    # Output:
       Courses    Fee Duration
    0    Spark  20000   35days
    1  PySpark  20000   35days
    3      PHP  10000   30days
    

    <a id="h-3-pandas-rest-index-on-dataframe-example"></a>

    3. Pandas Rest Index on DataFrame Example

    Let's use the pandas.DataFrame.reset_index() syntax to reset the DataFrame index. When we reset the index, the old index is added as a column to DataFrame, and a new sequential index is used

    
    # Reset index on DataFrame
    df2=df.reset_index()
    print(df2)
    

    Yields below output.

    
    # Output:
       index  Courses    Fee Duration
    0      0    Spark  20000   35days
    1      1  PySpark  20000   35days
    2      3      PHP  10000   30days
    

    If you don't want to add the existing index as a column, use drop=True param and also use inplace=True to update the existing DataFrame.

    
    # Drop index as column
    df.reset_index(inplace=True, drop=True)
    print(df)
    

    Yields below output

    
    # Output:
       Courses    Fee Duration
    0    Spark  20000   35days
    1  PySpark  20000   35days
    2      PHP  10000   30days
    

    <a id="h-4-reset-index-name-on-dataframe"></a>

    4. Reset Index Name on DataFrame

    Now, let's see how to reset an index name on pandas DataFrame. By default, DataFrame creates with index name as 'index'

    
    # Set index name
    df.index.name = 'custom_index'
    print(df)
    

    Yields below output.

    
    # Output:
                  Courses    Fee Duration
    custom_index                         
    0               Spark  20000   35days
    1             PySpark  20000   35days
    2                 PHP  10000   30days
    

    <a id="h-5-reset-index-to-start-from-1"></a>

    5. Reset Index to Start from 1

    When you reset the index it assigns a numerical value starting from zero, some times you may need to assign from 1, you can do this as shown in the below example.

    
    # Reset index starting from 1
    df.index = np.arange(1, len(df) + 1)
    print(df)
    

    Yields below output

    
    # Output:
       Courses    Fee Duration
    1    Spark  20000   35days
    2  PySpark  20000   35days
    3      PHP  10000   30days
    

    <a id="h-complete-example-of-reset-index-on-dataframe"></a>

    Complete Example of Reset Index on DataFrame

    
    import pandas as pd
    import numpy as np
    
    # Create DataFrame from dict
    df = pd.DataFrame({'Courses':['Spark','PySpark','Java','PHP'],
               'Fee':[20000,20000,15000,10000],
               'Duration':['35days','35days','40days','30days']})
    
    df=df.drop([2])
    print(df)
    
    # Reset index
    df2=df.reset_index()
    print(df2)
    
    # Reset index with out assigning to column
    df.reset_index(inplace=True, drop=True)
    print(df)
    
    # Set index column name
    df.index.name = 'custom_index'
    print(df)
    
    # Reset index starting from 1
    df.index = np.arange(1, len(df) + 1)
    print(df)
    

    <a id="h-faq-on-pandas-reset-index-rest-index-on-dataframe"></a>

    FAQ on pandas reset_index() – Rest Index on DataFrame

    reset_index() resets the index of a DataFrame to the default integer-based index (0, 1, 2, ...). It also moves the current index to a column, unless specified otherwise.

    You can reset the index by calling the reset_index() method on a DataFrame:

    You can reset the index without adding it as a column by using the drop=True parameter in the reset_index() method.

    By default, reset_index() returns a new DataFrame and does not modify the original DataFrame. To modify the original DataFrame, you can use inplace=True.

    reset_index() does not affect the column names, but if you reset the index and add it as a column, the column will be named "index" by default unless you specify a different name.

    If the DataFrame already has a default integer index (0, 1, 2,...), calling reset_index() will add a new column with the existing index values and reset the index back to the default.

    <a id="h-conclusion"></a>

    Conclusion

    In this article, you have learned how to reset the index on DataFrame by using different prams on the reset_index() method.

    <a id="h-related-articles"></a>

    Related Articles

    <a id="h-references"></a>

    References