Método de consulta de DataFrame de Pandas

Beginner

Introducción

En este laboratorio, aprenderá sobre el método query() de la biblioteca Pandas. El método query() le permite filtrar un DataFrame en función de una expresión booleana. Es similar al método filter(). Puede usar este método para filtrar el DataFrame en función de una o más columnas, así como combinar múltiples condiciones usando el operador 'AND'.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Creando un DataFrame

Primero, creemos un DataFrame con el que trabajar. En este ejemplo, crearemos un DataFrame que contenga información sobre personas, incluyendo sus nombres, edades, alturas y pesos.

#importing pandas as pd
import pandas as pd

#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
                   'Age': [19, 26, 22, 24, 21, 23],
                   'Height': [165, 150, 168, 157, 155, 170],
                   'Weight': [60, 65, 70, 50, 52, 55]})

Filtrando el DataFrame por una sola columna

A continuación, filtraremos el DataFrame en función de una sola columna usando el método query(). En este ejemplo, filtraremos el DataFrame para que solo incluya filas donde la edad sea menor que 23.

#filtering the DataFrame by age
filtered_df = df.query('Age < 23')

#printing the filtered DataFrame
print(filtered_df)

Salida:

    Name  Age  Height  Weight
0  Chetan   19     165      60
2  Yuvraj   22     168      70
4   Sindu   21     155      52

Filtrando el DataFrame al comparar dos columnas

Ahora, filtraremos el DataFrame al comparar dos columnas usando el método query(). En este ejemplo, filtraremos el DataFrame para que solo incluya filas donde los valores en la columna "sci_Marks" sean mayores que los valores en la columna "Maths_Marks".

#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
                  'sci_Marks': [85, 70, 75, 90, 95, 70],
                   'Maths_Marks': [82, 79, 80, 89, 92, 70]})

#filtering the DataFrame by comparing two columns
filtered_df = df.query('sci_Marks > Maths_Marks')

#printing the filtered DataFrame
print(filtered_df)

Salida:

     Name  sci_Marks  Maths_Marks
0  Chetan         85           82
3   Pooja         90           89
4   Sindu         95           92

Filtrando el DataFrame usando el operador 'Y'

Finalmente, filtraremos el DataFrame usando el operador 'AND' para combinar múltiples condiciones. En este ejemplo, filtraremos el DataFrame para que solo incluya filas donde la altura sea mayor que 155 y el peso sea mayor que 60.

#filtering the DataFrame by using 'AND' operator
filtered_df = df.query('Height > 155 and Weight > 60')

#printing the filtered DataFrame
print(filtered_df)

Salida:

     Name  Age  Height  Weight
1  Yashas   26     150      65
2  Yuvraj   22     168      70

Resumen

¡Felicidades! En este laboratorio, aprendiste cómo usar el método query() en la biblioteca Pandas. Ahora sabes cómo filtrar un DataFrame basado en una expresión booleana, filtrar por una sola columna, comparar dos columnas y usar el operador 'AND' para combinar múltiples condiciones. Este método es útil para filtrar datos rápidamente y eficientemente en DataFrames de Pandas. Sigue practicando y explorando diferentes casos de uso para ser más hábil en el uso del método query().