Often you may want to get the row numbers in a pandas DataFrame that contain a certain value.

Fortunately this is easy to do using the **.index** function.

This tutorial shows several examples of how to use this function in practice.

**Example 1: Get Row Numbers that Match a Certain Value**

Suppose we have the following pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']}) #view DataFrame print(df) points assists team 0 25 5 Mavs 1 12 7 Mavs 2 15 7 Spurs 3 14 9 Celtics 4 19 12 Warriors

We can use the following syntax to get the row numbers where ‘team’ is equal to Mavs:

#get row numbers where 'team' is equal to Mavs df[df['team'] == 'Mavs'].index Int64Index([0, 1], dtype='int64')

We can see that the team name is equal to ‘Mavs’ at rows indices **0 **and **1**.

We can also get the row numbers where the team name is in a certain list of team names:

#get row numbers where 'team' is equal to Mavs or Spurs filter_list = ['Mavs', 'Spurs'] #return only rows where team is in the list of team names df[df.team.isin(filter_list)].index Int64Index([0, 1, 2], dtype='int64')

We can see that the team name is equal to ‘Mavs’ or ‘Spurs’ at rows indices **0**, **1**, and **2**.

**Example 2: Get a Single Row Number**

Suppose we have the following pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

If you know that only one row matches a certain value, you can retrieve that single row number using the following syntax:

#get the row number where team is equal to Celtics df[df['team'] == 'Celtics'].index[0] 3

We can see that team is equal to ‘Celtics’ at row index number **3**.

**Example 3: Get Sum of Row Numbers**

Suppose we have the following pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

If you want to know the total number of rows where a column is equal to a certain value, you can use the following syntax:

#find total number of rows where team is equal to Mavs len(df[df['team'] == 'Celtics'].index) 2

We can see that team is equal to ‘Mavs’ in a total of **2 **rows.

**Additional Resources**

The following tutorials explain how to perform other common tasks in pandas:

How to Find Unique Values in Multiple Columns in Pandas

How to Filter a Pandas DataFrame on Multiple Conditions

How to Count Missing Values in a Pandas DataFrame