Générer de nouvelles colonnes à partir de colonnes préexistantes dans un ensemble de données est une opération courante dans l'étape de prétraitement des données. C'est aussi un aspect important de l'ingénierie des fonctionnalités. Dans certaines circonstances, de nouvelles colonnes sont construites en réponse aux conditions sur les colonnes existantes. Pandas et Numpy offrent une gamme d'options pour cette tâche.
Dans cet article, nous examinerons différentes approches pour construire une nouvelle colonne en fonction des conditions des colonnes existantes.
Méthodes pour créer une colonne basée sur les conditions de Pandas
Les techniques de pandas que nous allons utiliser dans cet article sont données ci-dessous:
Dans cette leçon, nous utiliserons ces méthodes et expliquerons comment mettre en œuvre les trois façons de Pandas.
Exemple 01: Utilisation de la technique de compréhension de la liste
La première approche que nous utilisons ici pour créer une colonne basée sur l'état des colonnes existantes est la «compréhension de la liste». Nous apprendrons cette méthode avec un exemple pratique. Commençons le code.
Nous utilisons l'outil «Spyder» pour la mise en œuvre et l'exécution des codes d'exemples de Python dans cet article. Nous ouvrons un nouveau fichier Python dans "Spyder" pour commencer à écrire notre script Python. Notre code commence par l'importation de la bibliothèque requise, «pandas comme pd» ici. Ensuite, nous créons une dataframe en utilisant le «PD.Fonction DataFrame () ”. Nous initialisons cette dataframe avec deux colonnes «nom» et «l'âge».
La colonne «Nom» stocke cinq noms qui sont «Elsa», «Emma», «Alaxandar», «Ron» et «Sasha». Alors que la colonne «Age» stocke la même longueur de valeurs entières qui sont «28», «19», «26», «19» et «31». Nous stockons ensuite ce DataFrame dans un objet DataFrame que nous avons créé «Info». Ce dataframe est accessible par l'objet «info». Dans la dernière ligne, la méthode «print ()» est invoquée pour afficher le nouveau DataFrame créé.
Pour l'exécution du code ci-dessus, appuyez sur le bouton "Exécuter le fichier" ou appuyez sur les touches "Shift + Enter". La sortie affichée sur le terminal montre un dataframe avec 2 colonnes, chacune stockant 5 valeurs.
Maintenant, nous générerons une autre colonne basée sur une condition sur la colonne précédemment créée. Nous créons une autre colonne «Can_vote» dans le cadre de données «Info» pour vérifier qui peut voter aux élections cette année. Nous appliquons une condition, en utilisant la méthode de compréhension de la liste, si l'âge de la personne est de 18 ans ou plus pour qu'il vote. Nous utilisons une variable «A» qui est toute valeur de la colonne «Age», car nous vérifions les conditions en fonction de l'âge de la personne. La condition devient «vraie» si l'âge est égal ou supérieur à «18», sinon la condition donne «FAUX»; où «a» est toute valeur dans la colonne «Âge» dans la dataframe «info».
La première valeur de la colonne «Age» est stockée dans «A» qui est «28» et la condition sera vérifiée. Comme «28» est supérieur à «18», la condition donne «vrai» et la première valeur de la colonne «Age» devient «vraie». Cette opération continuera de répéter jusqu'à ce que toutes les valeurs aient été vérifiées pour la condition spécifiée. Ensuite, nous utilisons la méthode «print ()» pour afficher le DataFrame avec une nouvelle colonne basée sur la condition.
Lorsque nous exécutons le script, il affiche à la fois le DataFrame précédent avec deux colonnes et le dataframe mis à jour avec 3 colonnes. Dans l'image de sortie ci-dessous, vous pouvez voir que le seul 4e L'enregistrement a une valeur inférieure à 18, donc dans la colonne «can_vote», sa valeur est «fausse» tandis que tous les autres enregistrements respectent la condition spécifiée et sont donc valorisés comme «vrai».
Exemple 02: Utilisation du Pandas DataFrame.Fonction appliquer ()
La deuxième technique dont nous discuterons ici est le Pandas «DataFrame.Fonction appliquer () ”pour créer une colonne basée sur des conditions.
Le dataframe généré dans l'exemple précédent sera utilisé pour cette démonstration. Nous avons le dataframe «info» qui contient deux colonnes «nom» et «âge», chacune ayant 5 enregistrements. Après avoir imprimé le Dataframe «Info», nous travaillons ensuite sur la création d'une nouvelle colonne dans ce DataFrame. Ici, nous avons défini une fonction «can_vote» avec «l'âge» comme paramètre. La première condition «si» démarre qui indique que si l'âge est plus grand et égal à 18, renvoyez une «vraie» valeur. Si la condition ne correspond pas, elle renverra «false». Cette fonction vérifiera chaque enregistrement dans la colonne d'âge et la correspondra à la condition spécifiée jusqu'à ce que chaque enregistrement soit comparé. Maintenant, nous devons créer une colonne basée sur la condition qui est «can_vote» et lui attribuer la sortie de l'appel «DataFrame.Fonction appliquer () ”.
Nous fournissons la fonction que nous avons définie ci-dessus «can_vote» comme paramètre au «.Méthode appliquer () ». Il prendra la valeur de la colonne «Age» et le vérifiera dans la fonction «Can_Vote» et stockera le résultat dans une nouvelle colonne «Can_Vote». Enfin, nous utilisons la méthode «print ()» pour imprimer le résultat.
L'image de sortie ci-dessous montre la colonne nouvellement créée dans la «information» de DataFrame qui a 4 valeurs «vraies» et une valeur «fausse» basée sur la condition spécifiée.
Exemple 03: Utilisation du Pandas DataFrame.Fonction map ()
Notre dernière méthode pour créer une colonne basée sur la condition consiste à utiliser les pandas «DataFrame.Fonction map () ”.
Nous avons d'abord importé la bibliothèque «Pandas en tant que PD» dans notre fichier Python. Une fois les fonctionnalités de Pandas activées, nous commençons à écrire notre code principal. Nous créons notre dataframe en utilisant le «PD.DataFrame () »Méthode et initialisez le DataFrame avec deux colonnes« Date »et« Event ». La colonne «Date» stocke les valeurs DateTime qui sont «15/8/2022», «16/9/2022», «15/10/2022», «15/11/2022» et «16/12/2022 ".
Alors que la colonne «Event» stocke 5 valeurs de cordes qui sont des «caricatures», des «jeux», des «caricatures», des «puzzles» et des «jeux». Nous avons stocké ce DataFrame dans un objet DataFrame «Data». L'appel de la méthode «print ()» avec l'objet DataFrame «Données» comme paramètre, affichera le nouveau DataFrame sur le terminal.
Lorsque nous appuyons sur le bouton "Exécuter le fichier", il exécutera le fichier Python. La sortie de données de sortie est présentée sur le terminal qui a deux colonnes «date» et «événement».
Maintenant, nous créons une autre colonne en appliquant une condition aux colonnes existantes. Nous créons un dictionnaire «PLIST» et fixons le prix de chaque événement qui comprend «Cartoons: 1500», «Games: 800» et «Puzzles: 1200». Ensuite, ajoutez une nouvelle colonne «Prix» dans le DataFrame «Data» et attribuez-leur la valeur de la cartographie des enregistrements de la colonne «Événement» avec les enregistrements de dictionnaire «PLIST».
À cette fin, nous utilisons le «DataFrame.Fonction map () ”. Le DataFrame avec le nom de la colonne «Data [« Price »] est écrit avec le«.La fonction map () ”et le nom du dictionnaire« plist »est fourni entre ses accolades. Ainsi, cette fonction mappera «l'événement» avec le «plist», chaque fois qu'une valeur correspond, elle se traduira par la nouvelle colonne «prix».
L'image de sortie montre les deux dataframes. Le deuxième DataFrame a une nouvelle colonne ajoutée qui insère chaque enregistrement en fonction de la correspondance de condition.
Conclusion
La leçon d'aujourd'hui est basée sur la création de la colonne basée sur une condition spécifiée. Nous vous avons expliqué le concept de création d'une nouvelle colonne à partir de celles existantes. Les pandas nous fournissent une variété de méthodes pour atteindre le résultat souhaité. Dans ce tutoriel, nous avons utilisé certaines des fonctions Pandas «DataFrame.appliquer () "," DataFrame.map () »et« compréhension de la liste ». Chaque technique est élaborée avec un exemple de code pratique implémenté sur Python dans l'outil «Spyder». Nous croyons vraiment que la pratique pleinement ciblée dans l'apprentissage du concept Pandas fera de vous un maître.