Pandas - Nettoyage des cellules vides
Cellules vides
Les cellules vides peuvent potentiellement vous donner un résultat erroné lorsque vous analysez des données.
Supprimer des lignes
Une façon de traiter les cellules vides consiste à supprimer les lignes contenant des cellules vides.
C'est généralement correct, car les ensembles de données peuvent être très volumineux et la suppression de quelques lignes n'aura pas un grand impact sur le résultat.
Exemple
Renvoie un nouveau bloc de données sans cellules vides :
import pandas as pd
df = pd.read_csv('data.csv')
new_df = df.dropna()
print(new_df.to_string())
Dans nos exemples de nettoyage, nous utiliserons un fichier CSV appelé « dirtydata.csv ».
Télécharger dirtydata.csv . ou Ouvrez dirtydata.csv
Remarque : Par défaut, la dropna()
méthode renvoie un nouveau DataFrame et ne modifiera pas l'original.
Si vous souhaitez modifier le DataFrame d'origine, utilisez l'
inplace = True
argument :
Exemple
Supprimez toutes les lignes contenant des valeurs NULL :
import pandas as pd
df = pd.read_csv('data.csv')
df.dropna(inplace = True)
print(df.to_string())
Remarque : Maintenant, le dropna(inplace = True)
ne renverra PAS un nouveau DataFrame, mais il supprimera toutes les lignes contenant des valeurs NULL du DataFrame d'origine.
Remplacer les valeurs vides
Une autre façon de gérer les cellules vides consiste à insérer une nouvelle valeur à la place.
De cette façon, vous n'avez pas à supprimer des lignes entières simplement à cause de certaines cellules vides.
La fillna()
méthode nous permet de remplacer les cellules vides par une valeur :
Exemple
Remplacez les valeurs NULL par le nombre 130 :
import pandas as pd
df = pd.read_csv('data.csv')
df.fillna(130, inplace = True)
Remplacer uniquement pour les colonnes spécifiées
L'exemple ci-dessus remplace toutes les cellules vides dans l'ensemble du bloc de données.
Pour remplacer uniquement les valeurs vides d'une colonne, spécifiez le nom de la colonne pour le DataFrame :
Exemple
Remplacez les valeurs NULL dans les colonnes "Calories" par le nombre 130 :
import pandas as pd
df = pd.read_csv('data.csv')
df["Calories"].fillna(130, inplace = True)
Obtenir une certification!
10 $ S'INSCRIRE
Remplacer en utilisant la moyenne, la médiane ou le mode
Une manière courante de remplacer les cellules vides consiste à calculer la valeur moyenne, médiane ou modale de la colonne.
Pandas utilise les méthodes mean()
median()
et mode()
pour calculer les valeurs respectives d'une colonne spécifiée :
Exemple
Calculez la MOYENNE et remplacez toutes les valeurs vides par celle-ci :
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mean()
df["Calories"].fillna(x, inplace = True)
Moyenne = la valeur moyenne (la somme de toutes les valeurs divisée par le nombre de valeurs).
Exemple
Calculez la MÉDIANE et remplacez toutes les valeurs vides par celle-ci :
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].median()
df["Calories"].fillna(x, inplace = True)
Médiane = la valeur du milieu, après avoir trié toutes les valeurs par ordre croissant.
Exemple
Calculez le MODE et remplacez toutes les valeurs vides par :
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace = True)
Mode = la valeur qui apparaît le plus fréquemment.