pandas 的query用法
时间: 2023-10-27 16:13:55 浏览: 27
pandas 的query() 方法可以用于筛选 DataFrame 中符合特定条件的数据。它的基本语法如下:
```
df.query('condition')
```
其中,`df` 是要筛选的 DataFrame 对象,`condition` 是查询条件。查询条件可以使用逻辑运算符(如 `and`、`or`、`not`)和比较运算符(如 `<`、`>`、`==`、`!=`、`<=`、`>=`)来组合。
例如,假设有如下 DataFrame:
```
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 30, 35, 40, 45],
'gender': ['F', 'M', 'M', 'M', 'F'],
'score': [80, 90, 85, 95, 85]
}
df = pd.DataFrame(data)
```
我们可以使用 query() 方法来筛选出年龄大于 30 年的男性:
```
result = df.query('age > 30 and gender == "M"')
print(result)
```
输出结果为:
```
name age gender score
3 David 40 M 95
```
除了使用字符串形式的查询条件外,还可以使用变量或表达式来构造查询条件。例如:
```
age_threshold = 30
result = df.query('age > @age_threshold')
print(result)
```
输出结果为:
```
name age gender score
2 Charlie 35 M 85
3 David 40 M 95
4 Emily 45 F 85
```
这里使用了 `@` 符号来标识变量,将 `age_threshold` 的值传递给查询条件。