数据处理与可视化:Pandas与Matplotlib的实用指南
一、Pandas的DataFrame.query()方法
1.1 query()方法介绍
DataFrame有一个基于评估字符串的方法,即 query()
方法。以下是一个示例:
import pandas as pd
import numpy as np
# 假设df是一个DataFrame
result1 = df[(df.A < 0.5) & (df.B < 0.5)]
result2 = pd.eval('df[(df.A < 0.5) & (df.B < 0.5)]')
np.allclose(result1, result2)
上述代码中,这是一个涉及DataFrame列的表达式,但不能用 DataFrame.eval()
语法来表达。对于这种过滤操作,可以使用 query()
方法:
result2 = df.query('A < 0.5 and B < 0.5')
np.allclose(result1, result2)
query()
方法不仅计算效率更高,而且与掩码表达式相比,更易于阅读和理解。此外, query()
方法还接受 @
标志来标记局