Menu
Coddy logo textTech

Modifier les données

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

Pour écraser les données d'une cellule, d'une colonne ou d'une ligne spécifique, vous pouvez lui assigner une nouvelle valeur :

df["existing_col"] = new_value            # Modifier la colonne
df.loc[index] = new_value                 # Modifier la ligne
df.loc[index, "existing_col"] = new_value # modifier la cellule

Pour mettre à jour la valeur de la colonne des lignes qui remplissent une condition spécifique, utilisez la même condition que celle apprise dans les leçons précédentes avec la méthode .loc :

df.loc[df['col'] > 5, 'existing_col'] = new_value
 
df.loc[(df['col'] <= 5) & (df['col'] > 2), 'existing_col'] = new_value

Il est important d'utiliser le mot-clé loc lors de la modification de lignes existantes. Fréquemment, lors de la modification d'un dataframe sans loc, vous manipulez une copie plutôt que les données originales. Par exemple :

df[(df['col'] <= 5) & (df['col'] > 2)]["existing_col"] = new_value

Ici, la condition renvoie une copie du dataframe au lieu des données originales.

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
  • Modifiez toutes les cellules (sauf les cellules des colonnes IS_VALID et UTILIZATION), où IS_VALID est égal à 1 et UTILIZATION est inférieur à 0.4, par la valeur MODIFIED.

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")
for column in df.columns:
    if column not in ["IS_VALID", "UTILIZATION"]:
        df[column] = df[column].astype(object)
# Écrivez votre code ci-dessous

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