# Reindex & Reset Index of pandas DataFrame from 0 in Python (3 Examples)

This tutorial shows how to **reset and reindex the indices of a pandas DataFrame** in the Python programming language.

Table of contents:

Letâ€™s dive right in!

## Example Data & Libraries

We first need to import the pandas library, if we want to use the corresponding functions:

import pandas as pd # Import pandas

Letâ€™s also define some exemplifying data in Python:

data = pd.DataFrame({'x1':range(10, 18), # Create pandas DataFrame 'x2':['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], 'x3':range(8, 0, - 1)}, index = [5, 6, 2, 1, 4, 7, 0, 3]) print(data) # Print pandas DataFrame

The previous table visualizes that our example pandas DataFrame has eight rows and three columns. The indices of this DataFrame are not ordered.

## Example 1: Reindex pandas DataFrame Using reindex() Function

In this section, Iâ€™ll illustrate how to change the ordering of the indices of a pandas DataFrame in Python.

For this task, we first have to create a list that specifies the new order of our data set. Note that the values in this list are the same as the current index values:

new_index = [1, 6, 2, 7, 0, 3, 5, 4] # Create list for new index print(new_index) # Print new index # [1, 6, 2, 7, 0, 3, 5, 4]

Next, we can sort the rows of our pandas DataFrame according to this list using the reindex function:

data_new1 = data.reindex(new_index) # Apply reindex function print(data_new1) # Print updated DataFrame

As shown in Table 2, we have created a new pandas DataFrame by running the previous syntax. As you can see, the rows of this DataFrame have been rearranged according to the ordering in our list object.

## Example 2: Reset Index of pandas DataFrame from 0 Using reset_index() Function

In Example 2, Iâ€™ll show how to reset the index numbers of a pandas DataFrame from 0 to the number of rows of the DataFrame.

To achieve this, we can apply the reset_index function as illustrated in the Python syntax below.

Within the reset_index function, we are also specifying the drop argument to be equal to True. This is an optional step. If we avoid this argument, a new column containing the original index will be added to the output.

Anyway, letâ€™s do this in practice:

data_new2 = data.reset_index(drop = True) # Apply reset_index function print(data_new2) # Print updated DataFrame

In Table 3 you can see that we have constructed a new pandas DataFrame with indices ranging consecutively from 0 to the number of rows of our data set.

Note that the values in the rows of this new data set have not been reordered, i.e. each row has a new index.

It is also possible to rearrange the values in a pandas DataFrame together with the indices, and this is what I will show you in the next example!

## Example 3: Sort Rows of pandas DataFrame by Index Using sort_index() Function

This example shows how to order the rows of a pandas DataFrame by its index.

For this, we can use the sort_index function as shown below:

data_new3 = data.sort_index() # Apply sort_sindex function print(data_new3) # Print updated DataFrame

As shown in Table 4, we have created another pandas DataFrame where the rows have been reordered according to the index numbers.

## Video, Further Resources & Summary

I have recently released a video on my YouTube channel, which shows the Python programming codes of this article. You can find the video below.

In addition, you could have a look at the related articles on this website. Some articles are listed below:

- Add Column to pandas DataFrame in Python
- Set Index of pandas DataFrame in Python
- Add Column from Another pandas DataFrame in Python
- Insert Column at Specific Position of pandas DataFrame in Python
- Basic Course for the pandas Library in Python
- Introduction to Python Programming

On this page you have learned how to **reset, drop, and change the index of a pandas DataFrame** in the Python programming language. In case you have any further comments or questions, donâ€™t hesitate to let me know in the comments section.