w3resource

Pandas DataFrame: Reset index in a given DataFrame


37. Reset DataFrame Index

Write a Pandas program to reset index in a given DataFrame.

Sample data:
Original DataFrame
attempts name qualify score
0 1 Anastasia yes 12.5
1 3 Dima no 9.0
2 2 Katherine yes 16.5
3 3 James no NaN
4 2 Emily no 9.0
5 3 Michael yes 20.0
6 1 Matthew yes 14.5
7 1 Laura no NaN
8 2 Kevin no 8.0
9 1 Jonas yes 19.0
After removing first and second rows
attempts name qualify score
2 2 Katherine yes 16.5
3 3 James no NaN
4 2 Emily no 9.0
5 3 Michael yes 20.0
6 1 Matthew yes 14.5
7 1 Laura no NaN
8 2 Kevin no 8.0
9 1 Jonas yes 19.0
Reset the Index:
index attempts name qualify score
0 2 2 Katherine yes 16.5
1 3 3 James no NaN
2 4 2 Emily no 9.0
3 5 3 Michael yes 20.0
4 6 1 Matthew yes 14.5
5 7 1 Laura no NaN
6 8 2 Kevin no 8.0
7 9 1 Jonas yes 19.0

Sample Solution :

Python Code :

import pandas as pd
import numpy as np
exam_data = {'name': ['Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
        'score': [12.5, 9, 16.5, np.nan, 9, 20, 14.5, np.nan, 8, 19],
        'attempts': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
        'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes']}
df = pd.DataFrame(exam_data)
print("Original DataFrame")
print(df)
print("\nAfter removing first and second rows")
df = df.drop([0, 1])
print(df)
print("\nReset the Index:")
df = df.reset_index()
print(df)

Sample Output:

  Original DataFrame
   attempts       name qualify  score
0         1  Anastasia     yes   12.5
1         3       Dima      no    9.0
2         2  Katherine     yes   16.5
3         3      James      no    NaN
4         2      Emily      no    9.0
5         3    Michael     yes   20.0
6         1    Matthew     yes   14.5
7         1      Laura      no    NaN
8         2      Kevin      no    8.0
9         1      Jonas     yes   19.0

After removing first and second rows
   attempts       name qualify  score
2         2  Katherine     yes   16.5
3         3      James      no    NaN
4         2      Emily      no    9.0
5         3    Michael     yes   20.0
6         1    Matthew     yes   14.5
7         1      Laura      no    NaN
8         2      Kevin      no    8.0
9         1      Jonas     yes   19.0

Reset the Index:
   index  attempts       name qualify  score
0      2         2  Katherine     yes   16.5
1      3         3      James      no    NaN
2      4         2      Emily      no    9.0
3      5         3    Michael     yes   20.0
4      6         1    Matthew     yes   14.5
5      7         1      Laura      no    NaN
6      8         2      Kevin      no    8.0
7      9         1      Jonas     yes   19.0                

Explanation:

The said code first creates a Pandas DataFrame df from the dictionary ‘exam_data’. The DataFrame contains information about students' names, scores, number of attempts and whether they qualify or not.

df = df.drop([0, 1]): This code drops the rows with index 0 and 1 from the DataFrame using the drop() method.

df = df.reset_index(): This code resets the index using the reset_index() method, which creates a new column called "index" with the index values before resetting.

Finally, it prints the resulting DataFrame with the dropped rows and the new index.


For more Practice: Solve these Related Problems:

  • Write a Pandas program to reset the index of a DataFrame after dropping some rows and then add the old index as a new column.
  • Write a Pandas program to reset the index of a DataFrame in place and then sort the DataFrame by the new index.
  • Write a Pandas program to reset the index of a DataFrame with a custom starting index and then verify the output.
  • Write a Pandas program to reset a DataFrame index after filtering rows and then format the new index as strings.

Go to:


Previous: Write a Pandas program to drop a list of rows from a specified DataFrame.
Next: Write a Pandas program to divide a DataFrame in a given ratio.

Python-Pandas Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.