📜  在 df.query 中使用变量 (1)

📅  最后修改于: 2023-12-03 14:50:53.917000             🧑  作者: Mango

在 df.query 中使用变量

在 Pandas 中,可以通过 query() 函数或 DataFrame.query() 方法来筛选数据。其中,DataFrame.query() 方法更常用,因为它不需要在字符串中编写代码,而是可以直接使用变量进行筛选。

下面演示如何在 DataFrame.query() 方法中使用变量:

import pandas as pd

# 创建样例数据
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
    'age': [23, 24, 25, 26, 27],
    'height': [165, 170, 175, 180, 185],
    'weight': [50, 60, 70, 80, 90]
}
df = pd.DataFrame(data)

# 定义变量
min_age = 24
max_weight = 70

# 使用变量进行筛选
result = df.query('age > @min_age and weight <= @max_weight')

print(result)

首先,我们定义了两个变量:min_age 和 max_weight。然后,在 DataFrame.query() 方法中使用 @ 符号来引用这些变量,以类似的方式传递它们的值。这样,我们就可以通过更改这些变量来很容易地改变筛选条件,而无需更改查询语句。

最后,我们打印了结果,它将只显示符合条件的行,即年龄大于 24 岁并且体重小于等于 70 的行。

使用变量可以使代码更加可读和灵活,尤其是在需要多次重复使用查询条件的情况下。除了变量,DataFrame.query() 方法还支持其他高级功能,比如象征(@)字符来引用变量名或函数名,以及链式表达式来实现复杂的查询。