Python | Filtrado de datos con el método Pandas .query()

Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes que facilita mucho la importación y el análisis de datos.

El análisis de datos requiere muchas operaciones de filtrado. Pandas proporciona muchos métodos para filtrar un marco de datos y Dataframe.query()es uno de ellos.

Sintaxis: DataFrame.query(expr, inplace=False, **kwargs)

Parámetros:
expr: Expresión en forma de string para filtrar datos.
inplace: Realice cambios en el marco de datos original si es True
kwargs: Otros argumentos de palabras clave.

Tipo de devolución: marco de datos filtrados

Para descargar el archivo CSV utilizado, haga clic aquí.

Nota: Dataframe.query() el método solo funciona si el nombre de la columna no tiene espacios vacíos. Entonces, antes de aplicar el método, los espacios en los nombres de las columnas se reemplazan con ‘_’

Ejemplo #1: Filtrado de condición única

En este ejemplo, los datos se filtran en función de una sola condición. Antes de aplicar el método query(), los espacios en los nombres de las columnas se reemplazaron con ‘_’.

# importing pandas package
import pandas as pd
  
# making data frame from csv file 
data = pd.read_csv("employees.csv")
  
# replacing blank spaces with '_' 
data.columns =[column.replace(" ", "_") for column in data.columns]
  
# filtering with query method
data.query('Senior_Management == True', inplace = True)
  
# display
data

Salida:
como se muestra en la imagen de salida, los datos ahora solo tienen filas donde la Alta dirección es Verdadero.

 
Ejemplo #2: Filtrado de múltiples condiciones

En este ejemplo, el marco de datos se filtró en varias condiciones. Antes de aplicar el método query(), los espacios en los nombres de las columnas se reemplazaron con ‘_’.

# importing pandas package
import pandas as pd
  
# making data frame from csv file 
data = pd.read_csv("employees.csv")
  
# replacing blank spaces with '_' 
data.columns =[column.replace(" ", "_") for column in data.columns]
  
# filtering with query method
data.query('Senior_Management == True 
            and Gender =="Male" and Team =="Marketing" 
            and First_Name =="Johnny"', inplace = True)
  
# display
data

Salida:
como se muestra en la imagen de salida, solo se han devuelto dos filas en función de los filtros aplicados.

Publicación traducida automáticamente

Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *