¿Cómo hacer consultas a un dataframe de Pandas con el método query()?
¿Cómo utilizar query() en un dataframe de Pandas?

Introducción
Si has estado utilizando pandas para el análisis de datos y aún no estás familiarizado con el método de consulta de Pandas, no estás solo. El método query es intuitivo, limpio y menos verboso que los métodos tradicionales de filtrado de filas de un DataFrame. Sin embargo, por alguna razón, el método de consulta de Pandas aún no se utiliza ampliamente a pesar de su simplicidad.
Así que, en este artículo, nos gustaría presentarte el método de consulta de Pandas, y su sintaxis con ejemplos para que puedas empezar a utilizarlo de inmediato.
Puedes acceder al código completo de este artículo en GitHub aquí.
Originalmente publicado en pythonsimplifed.com el 18 de octubre de 2022.
Método de consulta de Pandas
El método de consulta de Pandas (df.query()
) se utiliza para consultar las columnas de un DataFrame y filtrar solo las filas requeridas.
- Una guía para principiantes sobre la ingeniería de indicaciones
- GANs en Vogue | Una guía paso a paso para la generación de imágenes...
- Mejores cursos de Tableau (2023)
Los métodos más comúnmente utilizados para filtrar las filas de un DataFrame son los métodos de indexación booleana e indexación posicional. Consulta los ejemplos a continuación para entender a qué me refiero con indexación booleana e indexación posicional. Utilizaremos el conjunto de datos tips de la biblioteca Seaborn para los ejemplos.
import pandas as pdimport seaborn as snsdf = sns.load_dataset('tips')
Si quisiéramos seleccionar solo las filas con dos condiciones: no fumadores (smoker=‘No’) y mujeres, entonces con la indexación booleana y la indexación posicional, habríamos escrito el código de la siguiente manera.
# indexación booleanadf[ (df['smoker']=='No') & (df['sex'] =='Female') ]# indexación posicional usando .loc[] y .iloc[]df.loc[(df['smoker'] == 'No') & (df['sex'] == 'Female')]
Pero, el código anterior también se puede reescribir utilizando el método query de la siguiente manera. Como puedes ver, a pesar de ser intuitivo, limpio y menos verboso, el método de consulta a menudo es pasado por alto por los usuarios de pandas. En la siguiente sección, vamos a entender el método de consulta en detalle.
df.query('smoker == "No" & sex=="Female"')
Sintaxis
La sintaxis del método de consulta es la siguiente:
DataFrame.query(expr, inplace=False, **kwargs)
- expr — Es la expresión/condiciones para filtrar el…