📅  最后修改于: 2023-12-03 15:33:23.497000             🧑  作者: Mango
Pandas DataFrame.query()是一个非常强大的方法,它允许使用布尔表达式来从DataFrame中筛选数据。该方法可以理解为将字符中的布尔表达式转换为DataFrame的筛选器。
DataFrame.query(expr, inplace=False, **kwargs)
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', 'M', 'M'],
'city': ['Paris', 'New York', 'Tokyo', 'London']}
df = pd.DataFrame(data)
result = df.query('age >= 30')
print(result)
输出:
name age gender city
1 Bob 30 M New York
2 Charlie 35 M Tokyo
3 David 40 M London
以上示例演示了如何使用DataFrame.query()方法筛选年龄大于等于30的数据。
在DataFrame.query()方法中使用的布尔表达式也可以使用Python的运算符和常见函数,例如:
|操作符|说明| |:----:|:----:| |==|判断相等| |!=|判断不等| |<|小于| |<=|小于等于| |>|大于| |>=|大于等于| |and|与| |or|或| |not|非|
例如,以下代码展示了如何使用between函数和in操作符:
result = df.query('age.between(30, 35) and gender in ["M"]')
以上示例演示了如何使用between函数和in操作符筛选年龄在30到35之间,并且性别是男性的数据。
本文介绍了Pandas DataFrame.query()方法的语法、参数、示例和布尔表达式。该方法可以有效地从数据中筛选出所需的数据,是在数据处理和分析中非常有用的工具。