Comment filtrer les données par des valeurs dans les pandas?
Heureusement, il existe plusieurs techniques pour filtrer les données de DataFrames et Series dans Pandas. Les valeurs d'une dataframe peuvent être filtrées en utilisant une variété de fonctions comme démontré dans les exemples ci-dessous.
Exemple # 01: filtrage des lignes de données de données à l'aide de la valeur de la colonne
Dans une dataframe, vous devez souvent localiser les instances d'une valeur particulière. Le .La fonction d'indexation de location facilite la filtration des lignes en fonction de la question de savoir si la valeur existe ou non. Tout d'abord, nous importerons la bibliothèque Pandas. Ensuite, nous créerons le DataFrame à l'aide du PD.Fonction DataFrame ().
Nous avons créé six lignes et trois colonnes. La colonne «personne» se compose des noms de certaines personnes («Jason», «Arya», «Kim», «Ryan», «Sana», «Mark»). La colonne «poids» est les valeurs de données représentant les poids des individus en kg (80, 56, 60, 72, 63, 90). La colonne «Sex» a les valeurs de chaîne représentant les sexes des individus («M», «F», «F», «M», «F», «M»). Extraire les lignes où la valeur de la colonne «sexe» est «f». Pour cela, la fonction loc [] sera utilisée. Les lignes peuvent être récupérées à l'aide de la fonction loc [] que Pandas offre. Seules les étiquettes d'index peuvent être adoptées comme entrée dans le dataframe.Méthode loc []. Il renvoie un dataframe ou une ligne si l'étiquette d'index existe dans le cadre de données appelé.
L'expression logique est considérée comme un argument par le .Méthode loc []. En spécifiant la fonction df ['sexe'] == 'f' à l'intérieur de la fonction loc [], la fonction a renvoyé trois lignes où la valeur de la colonne «sexe» est «f».
Exemple # 02: Filtrage des lignes de données de données à l'aide de conditions logiques ou relationnelles
Dans certains scénarios, vous préférez peut-être trouver des données groupées en fonction des modèles plutôt que des lignes avec une seule valeur. Les expressions logiques peuvent être utilisées pour définir les modèles. Créons d'abord un dataframe.
Le DataFrame ci-dessus se compose de trois colonnes 'Gymnaste' avec des valeurs ('Roxy', 'Alan', 'Eva', 'Marcus', 'Jim', 'Zack', 'Lana', 'Robin'), la hauteur de la colonne stockant le hauteurs des gymnastes en pieds (6.2, 6.0, 5.8, 6.2, 6.4, 5.9, 5.7, 6.0), et la colonne contenant les sexes des gymnastes («femelle», «masculin», «femelle», «mâle», «mâle», «mâle», «femelle», «femelle»). La logique sera définie dans l'opérateur d'indexation ([]) comme argument.
Semblable au dernier exemple, nous filtrons les lignes de dataframe pour uniquement extraire celles où les valeurs de données dans la colonne «hauteur» sont supérieures à 6.0.
Comme on le voit, nous avons trois lignes où la valeur est supérieure à 6.0 dans la colonne «hauteur». Nous pouvons également définir plusieurs conditions en utilisant et opérateur. Récupérons les lignes où la hauteur est inférieure à 6.2 Et la valeur de la colonne «Gender» est «femme».
Nous avons spécifié deux conditions à l'intérieur de l'opérateur d'indexation ([]), df ['hauteur'] < 6.2) and (df['gender'] == 'female'). The function has extracted the rows where the height is less than 6.2 and gender is equal to 'female'.
Exemple # 03: filtrage de DataFrame à l'aide de l'opérateur de tranche
Il existe des situations où vous devez filtrer les données en fonction de la position d'index plutôt que des valeurs. Vous pouvez rapidement spécifier une plage d'index de la ligne, de la colonne de DataFrame ou des deux à extraire en utilisant le .Méthode ILOC. Créons une trame DataFrame avec plusieurs colonnes et pour comprendre l'utilisation de la fonction Iloc [] pratiquement.
Le DataFrame requis a été créé en utilisant un dictionnaire Python à l'intérieur des parenthèses du PD.Fonction DataFrame (). La colonne DataFrame 'Player' consiste en le nom des joueurs ('Alex', 'Brock', 'Riley', 'Anna', 'Jia', 'Henry', 'Tom', 'Ron'), le 'score `` Column contient le score d'un jeu récent (9, 9, 6, 7, 8, 10, 4, 5), la colonne 'Ranks' représente les rangs des joueurs (3, 2, 6, 5, 4, 1, 8, 7), et la colonne «grade» stockant les notes («a», «a», «c», «b», «b», «a», «d», «c»). Utilisons la fonction iloc [] pour filtrer les données.
Le premier argument renvoie cinq lignes de données comme nous avons spécifié 0: 5. Cela signifie les lignes qui commencent à l'index 0 et se termine avant l'index 5. Deux colonnes de données sont renvoyées car nous avons spécifié 1: 3 dans le deuxième argument, indiquant les colonnes commençant à l'index 1 et se terminant avant l'index 3. Si vous souhaitez récupérer toutes les lignes ou toutes les colonnes, vous pouvez laisser ce lieu d'argument (premier ou deuxième) avec un côlon «:».
Exemple n ° 04: Filtrage des lignes de données de données à l'aide de la fonction Query ()
Vous pouvez spécifier une condition ou plusieurs dans les pandas.Méthode Query () comme une chaîne. Il élimine également l'exigence de récupération des lignes de dataframe à l'aide des opérateurs d'indexation ([],.localiser,.Iloc, etc.). Nous devons d'abord créer un dataframe à partir duquel nous filtrerons les lignes.
Il y a deux colonnes dans notre DataFrame: «Étudiants» avec les valeurs de données («Ryan», «Wanda», «Bob», «Drew», «Natalia», «Maya», «Adam», «Nick») et «Marks 'avec des valeurs (48, 35, 46, 20, 28, 30, 43, 36). Pour que la fonction Query () puisse récupérer les données de DataFrame, nous pouvons spécifier une condition unique ou plusieurs conditions en tant que chaîne.
Nous avons spécifié une condition pour récupérer les lignes où la valeur dans la colonne des marques est inférieure à 48 et supérieure à 30. Quatre lignes sont récupérées de la dataframe qui satisfont la condition spécifiée dans la fonction Query ().
Exemple # 05: filtrage des lignes de dataframe à partir des valeurs nulles
Dans certains cas, les valeurs nulles peuvent être présentes dans un ensemble de données. Utilisation des pandas.Fonction notNull (), il est simple d'éliminer les lignes avec des valeurs manquantes de DataFrame. Créons un dataframe ayant des valeurs nulles ou des valeurs manquantes dans au moins une de ses colonnes.
Comme on peut le voir dans la colonne «Col2» (11, aucun, 36, aucun, aucun, 21, 46, 60), il y a des valeurs manquantes. Avec l'utilisation de l'opérateur d'indexation et de la fonction notnull (), ces valeurs nulles peuvent être filtrées à partir du dataframe.
La fonction ci-dessus a éliminé toutes les lignes ayant des valeurs nulles.
Exemple # 06: filtrage des lignes de données de données à l'aide de méthodes de chaîne
Les exemples de ce tutoriel se sont principalement concentrés sur le filtrage des nombres numériques. Cependant, les données de chaîne peuvent également être utilisées. Pour filtrer encore plus précisément les données, certaines fonctions de chaîne peuvent également être utilisées. Utilisons le dataframe que nous avons créé dans l'exemple # 5.
Vous pouvez filtrer les lignes de data. Récupérons les lignes ayant la chaîne spécifique «Tiger» dans les valeurs des colonnes «Col3».
Nous pouvons également récupérer des lignes de DataFrame par la lettre de départ des valeurs de chaîne à l'aide de la propriété STR et de la fonction startWith (). La lettre de départ de la chaîne sera spécifiée dans la fonction startSwith (). Récupérons les lignes où les valeurs de chaîne commencent par la lettre «a» dans la colonne «col1».
Conclusion
Dans ce didacticiel, nous avons discuté de la façon de filtrer le DataFrame par les valeurs de Pandas. Nous avons vu que les valeurs d'un dataframe peuvent être filtrées en utilisant plusieurs fonctions différentes. Nous avons mis en œuvre plusieurs exemples dans ce tutoriel pour vous apprendre à filtrer les lignes de données de données à l'aide de DataFrame.Méthode loc [], conditions logiques ou relationnelles, opérateur de tranche, fonction Query (), fonction notnull () et méthodes de chaîne.