Python Pandas Query 的使用方法
在 Pandas 中,query 函数被用于从 DataFrame 中筛选行,通过执行布尔逻辑来过滤 DataFrame 中的数据,query 函数提供了一个灵活和简洁的方法来执行此操作。
Pandas库的query()函数可以帮助我们通过传递一些布尔表达式来从DataFrame中选择行。在下面的部分中,我们将详细讨论如何使用query()函数进行数据筛选。
query 函数的语法
我们可以使用如下所示的语法来编写Pandas的query函数:
DataFrame.query(self, expr, inplace=False, **kwargs)
参数解释:
expr
:查询表达式字符串inplace
:如果inplace设置为 True,则返回 None,否则返回新的 DataFrame。
示例1:query函数实现数据筛选
下面的代码将展示如何实现数据筛选:
import pandas as pd
data = {"name": ["Alice", "Bob", "Charlie", "David", "Emily"],
"sex": ["female", "male", "male", "male", "female"],
"age": [25, 30, 35, 40, 45],
"salary": [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)
# 使用query函数过滤年龄大于30岁的数据
df_filtered = df.query("age > 30")
print(df_filtered)
运行以上代码,即可得到如下输出:
name sex age salary
2 Charlie male 35 7000
3 David male 40 8000
4 Emily female 45 9000
示例2:query函数与多个条件
我们可以使用query函数结合 and
和 or
操作符来筛选数据。
下面的代码将展示如何实现多条件筛选:
import pandas as pd
data = {"name": ["Alice", "Bob", "Charlie", "David", "Emily"],
"age": [25, 30, 35, 40, 45],
"city": ["Shanghai", "Beijing", "Shanghai", "Beijing", "Shanghai"]}
df = pd.DataFrame(data)
# 使用query函数过滤年龄在35岁以上和所在城市是上海的数据
df_filtered = df.query("age >= 35 and city == 'Shanghai'")
print(df_filtered)
运行以上代码,即可得到如下输出:
name age city
2 Charlie 35 Shanghai
4 Emily 45 Shanghai
至此,我们已经讲解了如何使用 Python Pandas 的 query 函数来进行数据筛选。