Méthode query() pour les DataFrame Pandas

Beginner

Introduction

Dans ce laboratoire, vous allez découvrir la méthode query() de la bibliothèque Pandas. La méthode query() vous permet de filtrer un DataFrame sur la base d'une expression booléenne. Elle est similaire à la méthode filter(). Vous pouvez utiliser cette méthode pour filtrer le DataFrame sur la base d'une ou plusieurs colonnes, ainsi que pour combiner plusieurs conditions à l'aide de l'opérateur 'ET'.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour passer à l'onglet Carnet de notes pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Création d'un DataFrame

Tout d'abord, créons un DataFrame avec lequel travailler. Dans cet exemple, nous allons créer un DataFrame contenant des informations sur des personnes, y compris leur nom, leur âge, leur taille et leur poids.

#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]})

Filtrer un DataFrame sur une seule colonne

Ensuite, filtrons le DataFrame sur une seule colonne à l'aide de la méthode query(). Dans cet exemple, nous allons filtrer le DataFrame pour ne conserver que les lignes où l'âge est inférieur à 23.

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

#printing the filtered DataFrame
print(filtered_df)

Sortie :

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

Filtrer un DataFrame en comparant deux colonnes

Maintenant, filtrons le DataFrame en comparant deux colonnes à l'aide de la méthode query(). Dans cet exemple, nous allons filtrer le DataFrame pour ne conserver que les lignes où les valeurs de la colonne "sci_Marks" sont supérieures aux valeurs de la colonne "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)

Sortie :

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

Filtrer un DataFrame en utilisant l'opérateur 'ET'

Enfin, filtrons le DataFrame en utilisant l'opérateur 'ET' pour combiner plusieurs conditions. Dans cet exemple, nous allons filtrer le DataFrame pour ne conserver que les lignes où la taille est supérieure à 155 et le poids est supérieur à 60.

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

#printing the filtered DataFrame
print(filtered_df)

Sortie :

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

Résumé

Félicitations ! Dans ce laboratoire, vous avez appris à utiliser la méthode query() de la bibliothèque Pandas. Maintenant, vous savez filtrer un DataFrame sur la base d'une expression booléenne, filtrer sur une seule colonne, comparer deux colonnes et utiliser l'opérateur 'ET' pour combiner plusieurs conditions. Cette méthode est pratique pour filtrer rapidement et efficacement les données dans les DataFrames Pandas. Continuez à pratiquer et à explorer différents cas d'utilisation pour devenir plus compétent dans l'utilisation de la méthode query().