Menu
Coddy logo textTech

Modifications personnalisées

Leçon 13 sur 19 du cours Analyse de données avec Pandas de Coddy.

Pour effectuer une modification personnalisée, utilisez la méthode .apply et fournissez-lui une lambda ou une function. Par exemple, pour trouver le carré de chaque nombre dans une colonne :

df['num_squared'] = df['num'].apply(lambda x: x**2)

Cela peut également être réalisé en multipliant la même colonne par elle-même :

df['num_squared'] = df['num'] * df['num']

Pour ajouter 2 à chaque valeur de ligne :

df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2

Pour remplacer chaque valeur d'une Series par une autre valeur, utilisez la méthode .map et fournissez-lui une fonction, un dictionnaire ou une Series.

Par exemple, si nous voulons remplacer les noms de fruits par des valeurs numériques :

fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)

.map et .apply peuvent tous deux accepter des fonctions :

df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)

Pour en savoir plus sur leur différence, vous pouvez lire ici.

 

challenge icon

Défi

Facile

Le fichier CSV stats.csv contient des informations sur des statistiques.

Voici les 5 premières lignes du fichier :

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE
  • Remplacez les valeurs de CATEGORY par : {"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}.
  • Créez une nouvelle colonne nommée SKILL_MASTERY. Remplissez cette colonne avec la formule suivante : Multipliez les valeurs des colonnes SKILL_POINTS et UTILIZATION. Si le résultat est supérieur à 5, divisez-le par 4 ; sinon, divisez-le par 2. Enfin, ajoutez la valeur de la colonne IS_VALID au résultat.
  • Triez le résultat par ordre croissant selon SKILL_MASTERY.

Stockez le résultat dans la variable df.

Essayez vous-même

# pandas as pd est déjà importé
df = pd.read_csv("./stats.csv")
# Écrivez votre code ci-dessous

Toutes les leçons de Analyse de données avec Pandas