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