掌握 pandas 中高效的数据筛选利器
在 Python 的 pandas 库中,
query() 是一个用于对 DataFrame 进行条件筛选的强大方法。
它允许你使用类似 SQL 或自然表达式的字符串语法来过滤数据,使代码更简洁、可读性更强。
df.query(expr, inplace=False, **kwargs)
"age > 30"False)engine='python' 等假设我们有一个员工数据表:
import pandas as pd
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'Diana'],
'age': [25, 32, 45, 28],
'salary': [50000, 70000, 90000, 60000]
})
使用 query 筛选年龄大于 30 的员工:
result = df.query('age > 30')
print(result)
输出结果:
name age salary
Bob 32 70000
Charlie 45 90000
min_age = 30
result = df.query('age > @min_age')
注意:变量前需加 @ 符号。
df.query('age > 30 and salary < 80000')
df.query('name.str.contains("A")')
以下情况推荐使用 query():