Table of Contents
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