pandas query 正则查询
时间: 2023-10-16 09:09:19 浏览: 223
在 Pandas 中使用 query 函数配合正则表达式进行查询需要使用 `str.contains()` 方法。
例如,假设我们有一个 DataFrame,其中有一个名为 `fruit` 的列,我们想要查询该列中包含 `apple` 或 `orange` 的所有行,可以使用以下代码:
```python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({
'fruit': ['apple', 'banana', 'orange', 'pear', 'grapefruit']
})
# 使用 query 函数和正则表达式进行查询
result = df.query('fruit.str.contains("apple|orange")')
print(result)
```
输出:
```
fruit
0 apple
2 orange
```
在上述代码中,`query()` 函数的查询条件是 `'fruit.str.contains("apple|orange")'`,其中 `fruit` 表示要查询的列名,`str.contains()` 方法用于判断该列中是否包含指定的字符串或正则表达式。在本例中,正则表达式为 `"apple|orange"`,表示匹配包含 `apple` 或 `orange` 的字符串。
需要注意的是,如果查询条件中包含单引号或双引号,则需要使用相反的引号来包裹整个条件。例如,如果查询条件中包含双引号,则应该使用单引号来包裹整个条件,如 `'fruit.str.contains("apple|orange")'`。
阅读全文