Last Updated : 11 Jul, 2025
Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages. Pandas is one of those packages that makes importing and analyzing data much easier. Analyzing data requires a lot of filtering operations. Pandas Dataframe provide many methods to filter a Data frame and Dataframe.query() is one of them.
Pandas query() method SyntaxPandas DataFrame query() MethodSyntax: DataFrame.query(expr, inplace=False, **kwargs)
Parameters:
- expr: Expression in string form to filter data.
- inplace: Make changes in the original data frame if True
- kwargs: Other keyword arguments.
Return type: Filtered Data frame
Dataframe.query() method only works if the column name doesn't have any empty spaces. So before applying the method, spaces in column names are replaced with '_' . To download the CSV file used, Click Here.
Pandas DataFrame query() ExamplesExample 1: Single condition filtering In this example, the data is filtered on the basis of a single condition. Before applying the query() method, the spaces in column names have been replaced with '_'.
Python3
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("employees.csv")
# replacing blank spaces with '_'
data.columns =
[column.replace(" ", "_") for column in data.columns]
# filtering with query method
data.query('Senior_Management == True',
inplace=True)
# display
data
Output:
As shown in the output image, the data now only have rows where Senior Management is True.
Example 2: Multiple conditions filtering In this example, Dataframe has been filtered on multiple conditions. Before applying the query() method, the spaces in column names have been replaced with '_'.
Python3
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("employees.csv")
# replacing blank spaces with '_'
data.columns =
[column.replace(" ", "_") for column in data.columns]
# filtering with query method
data.query('Senior_Management == True
and Gender == "Male" and Team == "Marketing"
and First_Name == "Johnny"', inplace=True)
# display
data
Output:
As shown in the output image, only two rows have been returned on the basis of filters applied.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4