Vous n’êtes jamais limité aux seules données fournies. Vous pouvez ajouter de nouvelles colonnes à un DataFrame. On parle aussi de transformation, de mutation ou encore de feature engineering.
Vous pouvez créer des colonnes entièrement nouvelles, mais il est fréquent de les dériver à partir d’autres colonnes, par exemple en additionnant des colonnes ou en changeant d’unité.
Dériver une colonne
Avec un jeu de données sur les chiens, imaginons que vous souhaitiez ajouter une nouvelle colonne à votre DataFrame pour exprimer la taille de chaque chien en mètres plutôt qu’en centimètres.
À gauche du signe égal, utilisez des crochets avec le nom de la nouvelle colonne à créer, ici height_m. À droite, placez le calcul.
dogs["height_m"]= dogs["height_cm"]/100print(dogs)Propulsé par
name breed color height_cm weight_kg date_of_birth height_m
0 Bella Labrador Brown 56242013-07-010.561 Charlie Poodle Black 43242016-09-160.432 Lucy Chow Chow Brown 46242014-08-250.463 Cooper Schnauzer Gray 49172016-09-160.494 Max Labrador Black 59292016-09-160.595 Stella Chihuahua Tan 1822016-09-160.186 Bernie St. Bernard White 77742016-09-160.77Propulsé par
Remarquez que la colonne d’origine et la colonne dérivée se trouvent toutes deux dans le DataFrame modifié.
Ajouter une colonne
Dans cet exemple, vous allez calculer un indice de masse canin et l’ajouter comme colonne à votre DataFrame. Le BMI (body mass index) correspond au poids en kilogrammes divisé par la taille en mètres au carré.
dogs["height_m"]= dogs["weight_kg"]/ dogs["height_m"]**2print(dogs.head())Propulsé par
name breed color height_cm weight_kg date_of_birth height_m bmi
0 Bella Labrador Brown 56242013-07-010.5676.5306121 Charlie Poodle Black 43242016-09-160.43129.7998922 Lucy Chow Chow Brown 46242014-08-250.46113.4215503 Cooper Schnauzer Gray 49172016-09-160.4970.8038324 Max Labrador Black 59292016-09-160.5983.309394Propulsé par
Là encore, la nouvelle colonne se trouve à gauche du signe égal, mais cette fois, le calcul mobilise deux colonnes.
Ajouter une colonne avec plusieurs manipulations
La véritable puissance de pandas se révèle lorsque vous combinez toutes les compétences acquises jusque-là. Voyons comment identifier les chiens grands et maigres.
Pour définir les chiens maigres, commencez par extraire le sous-ensemble ayant un BMI inférieur à 100. Ensuite, triez par taille en ordre décroissant pour faire apparaître en tête les plus grands parmi eux.
Enfin, ne conservez que les colonnes qui vous intéressent.
bmi_lt_100 = dogs[dogs["bmi"]<100]
bmi_lt_100_height = bmi_lt_100.short_values("height_cm", ascending=False)
bmi_lt_100_height[["name","height_cm","bmi"]]Propulsé par
name height_cm bmi
4 Max 5983.3093940 Bella 5676.5306123 Cooper 4970.8038325 Stella 1861.728395Propulsé par
Ici, on voit que Max est le plus grand chien avec un BMI inférieur à 100.
Exemple interactif
Dans l’exemple ci-dessous, vous ajoutez une nouvelle colonne au DataFrame homelessness, nommée total, qui contient la somme des colonnes individuals et family_members. Puis vous ajoutez une autre colonne à homelessness, nommée p_individuals, indiquant la proportion de personnes sans abri qui sont des individus dans chaque État. Enfin, vous affichez le DataFrame homelessness.
# Add total col as sum of individuals and family_members
homelessness["total"]= homelessness["individuals"]+ homelessness["family_members"]# Add p_individuals col as proportion of individuals
homelessness["p_individuals"]= homelessness["individuals"]/ homelessness["total"]# See the resultprint(homelessness)Propulsé par
Lorsque nous exécutons le code ci-dessus, nous obtenons le résultat suivant :
region state individuals family_members state_pop total p_individuals
0 East South Central Alabama 2570.0864.048876813434.00.7481 Pacific Alaska 1434.0582.07351392016.00.7112 Mountain Arizona 7259.02606.071580249865.00.7363 West South Central Arkansas 2280.0432.030097332712.00.8414 Pacific California 109008.020964.039461588129972.00.8...48 South Atlantic West Virginia 1021.0222.018042911243.00.82149 East North Central Wisconsin 2740.02167.058074064907.00.55850 Mountain Wyoming 434.0205.0577601639.00.679Propulsé par
Initiez-vous aux structures de données de Python : apprenez-en plus sur les types de données et les structures de données primitives et non primitives, telles que les chaînes de caractères, les listes, les piles, etc.
Découvrez les fonctions et méthodes des listes Python. Veuillez suivre les exemples de code pour list() et d'autres fonctions et méthodes Python dès maintenant.
Vous n’êtes jamais limité aux seules données fournies. Vous pouvez ajouter de nouvelles colonnes à un DataFrame. On parle aussi de transformation, de mutation ou encore de feature engineering.
Vous pouvez créer des colonnes entièrement nouvelles, mais il est fréquent de les dériver à partir d’autres colonnes, par exemple en additionnant des colonnes ou en changeant d’unité.
Dériver une colonne
Avec un jeu de données sur les chiens, imaginons que vous souhaitiez ajouter une nouvelle colonne à votre DataFrame pour exprimer la taille de chaque chien en mètres plutôt qu’en centimètres.
À gauche du signe égal, utilisez des crochets avec le nom de la nouvelle colonne à créer, ici
height_m. À droite, placez le calcul.Remarquez que la colonne d’origine et la colonne dérivée se trouvent toutes deux dans le DataFrame modifié.
Ajouter une colonne
Dans cet exemple, vous allez calculer un indice de masse canin et l’ajouter comme colonne à votre DataFrame. Le BMI (body mass index) correspond au poids en kilogrammes divisé par la taille en mètres au carré.
Là encore, la nouvelle colonne se trouve à gauche du signe égal, mais cette fois, le calcul mobilise deux colonnes.
Ajouter une colonne avec plusieurs manipulations
La véritable puissance de pandas se révèle lorsque vous combinez toutes les compétences acquises jusque-là. Voyons comment identifier les chiens grands et maigres.
Pour définir les chiens maigres, commencez par extraire le sous-ensemble ayant un BMI inférieur à 100. Ensuite, triez par taille en ordre décroissant pour faire apparaître en tête les plus grands parmi eux.
Enfin, ne conservez que les colonnes qui vous intéressent.
Ici, on voit que
Maxest le plus grand chien avec un BMI inférieur à 100.Exemple interactif
Dans l’exemple ci-dessous, vous ajoutez une nouvelle colonne au DataFrame
homelessness, nomméetotal, qui contient la somme des colonnesindividualsetfamily_members. Puis vous ajoutez une autre colonne àhomelessness, nomméep_individuals, indiquant la proportion de personnes sans abri qui sont des individus dans chaque État. Enfin, vous affichez le DataFramehomelessness.Lorsque nous exécutons le code ci-dessus, nous obtenons le résultat suivant :
Essayez par vous-même.
Consultez aussi le tutoriel de DataCamp sur comment supprimer des colonnes dans pandas.
Pour en savoir plus sur l’ajout de nouvelles colonnes avec pandas, regardez cette vidéo issue de notre cours Data Manipulation with pandas.
Ce contenu est extrait du cours Data Manipulation with pandas de DataCamp, conçu par Maggie Matsui et Richie Cotton.