How can I select rows in Pandas where a specific value appears in any column?

Pandas is a popular Python library for data manipulation and analysis. One common task in data analysis is selecting rows that contain a specific value in any column. This can be achieved by using the “loc” function in Pandas, which allows for conditional selection of rows based on specific criteria. By specifying the desired value in the condition, the “loc” function will return a subset of the original data frame with only the rows that contain the specified value in any column. This functionality in Pandas provides a convenient and efficient method for selecting and analyzing data based on specific values.

Pandas: Select Rows Where Value Appears in Any Column


Often you may want to select the rows of a pandas DataFrame in which a certain value appears in any of the columns.

Fortunately this is easy to do using the .any pandas function. This tutorial explains several examples of how to use this function in practice.

Example 1: Find Value in Any Column

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],
                   'rebounds': [11, 8, 10, 6, 6]})

#view DataFrame
print(df)

   points  assists  rebounds
0      25        5        11
1      12        7         8
2      15        7        10
3      14        9         6
4      19       12         6

The following syntax shows how to select all rows of the DataFrame that contain the value 25 in any of the columns:

df[df.isin([25]).any(axis=1)]

        points	assists	rebounds
0	25	5	11

The following syntax shows how to select all rows of the DataFrame that contain the values 25, 9, or 6 in any of the columns:

df[df.isin([25, 9, 6]).any(axis=1)]

        points	assists	rebounds
0	25	5	11
3	14	9	6
4	19	12	6

Example 2: Find Character in Any Column

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],
                   'position': ['G', 'G', 'F', 'F', 'C']})

#view DataFrame
print(df)

   points  assists position
0      25        5        G
1      12        7        G
2      15        7        F
3      14        9        F
4      19       12        C

The following syntax shows how to select all rows of the DataFrame that contain the character G in any of the columns:

df[df.isin(['G']).any(axis=1)]


points	assists	position
0	25	5	G
1	12	7	G

The following syntax shows how to select all rows of the DataFrame that contain the values G or C in any of the columns:

df[df.isin(['G', 'C']).any(axis=1)] 

points	assists	position
0	25	5	G
1	12	7	G
4	19	12	C

Additional Resources

How to Filter a Pandas DataFrame on Multiple Conditions
How to Find Unique Values in Multiple Columns in Pandas
How to Get Row Numbers in a Pandas DataFrame

x