Friday, October 17, 2025
HomeLanguagesFilter Pandas dataframe in Python using ‘in’ and ‘not in’

Filter Pandas dataframe in Python using ‘in’ and ‘not in’

The in and not in operators can be used with Pandas DataFrames to check if a given value or set of values is present in the DataFrame or not using Python. The in-operator returns a boolean value indicating whether the specified value is present in the DataFrame, while the not-in-operator returns a boolean value indicating whether the specified value is not present in the DataFrame. 

This operator can be used with the .query() method of a Pandas DataFrame to filter the DataFrame based on a given set of values. The .query() method takes a string containing a Boolean expression as input and returns a new DataFrame containing only the rows that satisfy the given expression.

Filter Pandas Dataframe in Python using ‘in’ keyword

The in keyword has two purposes, first to check if a value is present in a list, tuple, range, string, etc. and another is to iterate through a sequence in a for a loop.

Example 1

Here is an example of how the in operator can be used with the .query() method to filter a DataFrame:

Python3




import pandas as pd
  
# Create a DataFrame with some sample data
df = pd.DataFrame({"A": [1, 2, 3, 4], 
                   "B": [5, 6, 7, 8]})
  
# Filter the DataFrame to include only rows 
# where column "A" has a value of 1 or 2
df = df.query("A in [1, 2]")
  
# Print the resulting DataFrame
print(df)


Output:

   A  B
0  1  5
1  2  6

Example 2

The in operator can also be used in more complex expressions with the .query() method, to combine multiple conditions and apply logical operators such as and/or. 

Python3




# Filter the DataFrame to include only rows 
# where column "A" has a value of 1 or 2, and 
# column "B" has a value of 6 or 7
df = df.query("A in [1, 2] and B in [6, 7]")
  
# Print the resulting DataFrame
print(df)


Output:

   A  B
1  2  6

Filter Pandas Dataframe in Python using the ‘not in’ keyword

Python not keyword is a logical operator which is usually used for figuring out the negation or opposite boolean value of the operand.

Example 1

To use the `not in` operator with the .query() method of a Pandas DataFrame, you can simply negate the expression using the not keyword. 

Python3




import pandas as pd
  
# Create a DataFrame with some sample data
df = pd.DataFrame({"A": [1, 2, 3, 4], "B": [5, 6, 7, 8]})
  
# Filter the DataFrame to exclude rows
# where column "A" has a value of 1 or 2
df = df.query("not A in [1, 2]")
  
# Print the resulting DataFrame
print(df)


Output:

   A  B
2  3  7
3  4  8

Example 2

Here is the example with the ‘not in’ operator.

Python3




# Filter the DataFrame to exclude rows 
# where column "A" has a value of 1 or 2, and 
# column "B" has a value of 6 or 7
df = df.query("not (A in [1, 2] and B in [6, 7])")
  
# Print the resulting DataFrame
print(df)


Output:

   A  B
0  1  5
2  3  7
3  4  8
Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS