Gestion des Variables Catégorielles
Vous allez maintenant travailler avec un ensemble de données qui ne contient pas de valeurs manquantes. Les valeurs NaN
de la colonne 'Age'
ont été remplacées par la moyenne de la colonne, et la valeur NaN
de la colonne 'Fare'
a été supprimée.
Il est donc temps d'apprendre à gérer les variables catégorielles. Catégoriel signifie qu'elles possèdent certaines catégories. Par exemple, dans la colonne 'Sex'
, il y a 'male'
et 'female'
; ou dans la colonne 'Embarked'
, il y a 'Q'
, 'S'
et 'C'
.
Que faire pour calculer le nombre de valeurs dans chaque catégorie ou obtenir des informations à leur sujet ?
Vous connaissez déjà .loc[]
, .isin()
, .between()
et de nombreuses fonctions, mais dans pandas, il existe une méthode plus élégante et pratique pour cela. Utilisez la fonction .get_dummies()
. À titre d'exemple, nous allons l'appliquer à la colonne 'Embarked'
. Observez l'implémentation et le résultat (nous afficherons les noms de 5 passagers choisis au hasard ainsi que les nouvelles colonnes créées).
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
Examinons l'un des résultats possibles, en particulier l'une des combinaisons possibles de cinq lignes sélectionnées aléatoirement. Vous pouvez faire défiler horizontalement le tableau pour voir toutes les colonnes :
Explication :
En conséquence, notre fonction a divisé la colonne 'Embarked'
en trois colonnes : 'Embarked_C'
, 'Embarked_Q'
et 'Embarked_S'
. Au total, nous avons trois catégories. Chaque passager possède sa catégorie dans la colonne 'Embarked'
. Ainsi, notre fonction crée trois colonnes correspondant à chaque catégorie et, pour chaque passager, elle remplit la cellule de la colonne avec 1
si la personne était initialement associée à cette géographie ; sinon, elle indique 0
. Ainsi, nous obtenons 1
dans une seule colonne.
pd.get_dummies(data, columns = ['Embarked'])
pd.get_dummies()
– cette fonction convertit les variables catégorielles en variables indicatrices (1 ou 0) ;data
– la table de données à utiliser ;columns = ['Embarked']
– les colonnes contenant des variables catégorielles à transformer en variables indicatrices. Attention, il est obligatoire de placer les noms de colonnes dans une liste.
Swipe to start coding
Votre tâche ici consiste à transformer la colonne 'Sex'
en une colonne avec des variables indicatrices (dummy variables) au lieu de variables catégorielles. Ensuite, affichez la somme des valeurs dans chaque catégorie.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.03
Gestion des Variables Catégorielles
Glissez pour afficher le menu
Vous allez maintenant travailler avec un ensemble de données qui ne contient pas de valeurs manquantes. Les valeurs NaN
de la colonne 'Age'
ont été remplacées par la moyenne de la colonne, et la valeur NaN
de la colonne 'Fare'
a été supprimée.
Il est donc temps d'apprendre à gérer les variables catégorielles. Catégoriel signifie qu'elles possèdent certaines catégories. Par exemple, dans la colonne 'Sex'
, il y a 'male'
et 'female'
; ou dans la colonne 'Embarked'
, il y a 'Q'
, 'S'
et 'C'
.
Que faire pour calculer le nombre de valeurs dans chaque catégorie ou obtenir des informations à leur sujet ?
Vous connaissez déjà .loc[]
, .isin()
, .between()
et de nombreuses fonctions, mais dans pandas, il existe une méthode plus élégante et pratique pour cela. Utilisez la fonction .get_dummies()
. À titre d'exemple, nous allons l'appliquer à la colonne 'Embarked'
. Observez l'implémentation et le résultat (nous afficherons les noms de 5 passagers choisis au hasard ainsi que les nouvelles colonnes créées).
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
Examinons l'un des résultats possibles, en particulier l'une des combinaisons possibles de cinq lignes sélectionnées aléatoirement. Vous pouvez faire défiler horizontalement le tableau pour voir toutes les colonnes :
Explication :
En conséquence, notre fonction a divisé la colonne 'Embarked'
en trois colonnes : 'Embarked_C'
, 'Embarked_Q'
et 'Embarked_S'
. Au total, nous avons trois catégories. Chaque passager possède sa catégorie dans la colonne 'Embarked'
. Ainsi, notre fonction crée trois colonnes correspondant à chaque catégorie et, pour chaque passager, elle remplit la cellule de la colonne avec 1
si la personne était initialement associée à cette géographie ; sinon, elle indique 0
. Ainsi, nous obtenons 1
dans une seule colonne.
pd.get_dummies(data, columns = ['Embarked'])
pd.get_dummies()
– cette fonction convertit les variables catégorielles en variables indicatrices (1 ou 0) ;data
– la table de données à utiliser ;columns = ['Embarked']
– les colonnes contenant des variables catégorielles à transformer en variables indicatrices. Attention, il est obligatoire de placer les noms de colonnes dans une liste.
Swipe to start coding
Votre tâche ici consiste à transformer la colonne 'Sex'
en une colonne avec des variables indicatrices (dummy variables) au lieu de variables catégorielles. Ensuite, affichez la somme des valeurs dans chaque catégorie.
Solution
Merci pour vos commentaires !
single