Le nettoyage des données prend sans aucun doute une tonne de temps en science des données, et les données manquantes sont l'un des défis auxquels vous serez souvent confronté. pandas est un précieux outil de manipulation de données Python qui vous aide, entre autres, à corriger les valeurs manquantes dans votre ensemble de données.

Vous pouvez corriger les données manquantes en les supprimant ou en les remplissant avec d'autres valeurs. Dans cet article, nous expliquerons et explorerons les différentes manières de remplir les données manquantes à l'aide de pandas.

1. Utilisez la méthode fillna() :

le fillna() La fonction parcourt votre ensemble de données et remplit toutes les lignes nulles avec une valeur spécifiée. Il accepte certains arguments facultatifs - notez les suivants :

Valeur: Il s'agit de la valeur que vous souhaitez insérer dans les lignes manquantes.

Méthode: vous permet de remplir les valeurs manquantes vers l'avant ou vers l'arrière. Il accepte un 'bfill' ou 'remplir' paramètre.

En place: Ceci accepte une instruction conditionnelle. Si True, il modifie le DataFrame de façon permanente. Sinon, ce n'est pas le cas.

Avant de commencer, assurez-vous d'installer des pandas dans votre Environnement virtuel Python utilisant pépin dans votre terminal :

pip installer des pandas

Ensuite, dans le script Python, nous allons créer un DataFrame d'entraînement et insérer des valeurs nulles (Nan) en quelques lignes :

importer des pandas
df = pandas. DataFrame({'A' :[0, 3, Aucun, 10, 3, Aucun],
'B': [Aucun, Aucun, 7.13, 13.82, 7, 7],
'C': [Aucun, "Pandas", Aucun, "Pandas", "Python", "JavaScript"]})

En rapport:Comment importer des données Excel dans des scripts Python à l'aide de Pandas

Maintenant, découvrez comment vous pouvez remplir ces valeurs manquantes en utilisant les différentes méthodes disponibles dans les pandas.

Cette méthode consiste à remplacer les valeurs manquantes par des moyennes calculées. Remplir les données manquantes avec une valeur moyenne ou médiane est applicable lorsque les colonnes impliquées ont des types de données entiers ou flottants.

Vous pouvez également remplir les données manquantes avec la valeur de mode, qui est la valeur la plus fréquente. Ceci s'applique également aux entiers ou aux flottants. Mais c'est plus pratique lorsque les colonnes en question contiennent des chaînes.

Voici comment insérer la moyenne et la médiane dans les lignes manquantes du DataFrame que vous avez créé précédemment :

#Pour insérer la valeur moyenne de chaque colonne dans ses lignes manquantes :
df.fillna (df.mean().round (1), inplace=True)
#Pour la médiane :
df.fillna (df.median().round (1), inplace=True)
impression (df)

L'insertion de la valeur modale comme vous l'avez fait pour la moyenne et la médiane ci-dessus ne capture pas l'intégralité du DataFrame. Mais vous pouvez l'insérer dans une colonne spécifique à la place, par exemple, colonne C:

df['C'].fillna (df['C'].mode()[0], inplace=True)

Cela dit, il est toujours possible d'insérer la valeur modale de chaque colonne sur ses lignes manquantes à la fois utiliser une boucle for:

pour moi dans df.columns :
df[i].fillna (df[i].mode()[0], inplace=True)
impression (df)

Si vous souhaitez être spécifique à la colonne lors de l'insertion de la moyenne, de la médiane ou du mode :

df.fillna({"A":df['A'].mean(), 
"B": df['B'].médiane(),
"C": df['C'].mode()[0]},
en place=Vrai)
impression (df)

Remplir les lignes nulles avec des valeurs à l'aide de ffill

Cela implique de spécifier la méthode de remplissage à l'intérieur en tant que fillna() une fonction. Cette méthode remplit chaque ligne manquante avec la valeur de la plus proche au-dessus.

Vous pouvez également l'appeler remplissage vers l'avant :

df.fillna (method='ffill', inplace=True)

Remplir les lignes manquantes avec des valeurs à l'aide de bfill

Ici, vous allez remplacer le remplir méthode mentionnée ci-dessus avec remplir. Il remplit chaque ligne manquante dans le DataFrame avec la valeur la plus proche en dessous.

Celui-ci est appelé rétro-remplissage :

df.fillna (method='bfill', inplace=True)

2. La méthode replace()

Vous pouvez remplacer le Nan valeurs dans une colonne spécifique avec la moyenne, la médiane, le mode ou toute autre valeur.

En rapport:Commandes pandas pour manipuler les DataFrames

Voyez comment cela fonctionne en remplaçant les lignes nulles dans une colonne nommée par sa moyenne, sa médiane ou son mode :

importer des pandas
importer numpy #ceci nécessite que vous ayez préalablement installé numpy
#Remplacez les valeurs nulles par la moyenne :
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Remplacez la colonne A par la médiane :
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Utilisez la valeur modale pour la colonne C :
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
impression (df)

3. Remplir les données manquantes avec interpolate()

le interpoler() La fonction utilise des valeurs existantes dans le DataFrame pour estimer les lignes manquantes.

Exécutez le code suivant pour voir comment cela fonctionne :

#Interpoler vers l'arrière sur la colonne:
df.interpolate (method ='linear', limit_direction ='backward', inplace=True)
#Interpoler dans l'ordre vers l'avant à travers la colonne:
df.interpolate (method ='linear', limit_direction ='forward', inplace=True)

Traitez soigneusement les lignes manquantes

Bien que nous n'ayons envisagé de remplir les données manquantes qu'avec des valeurs par défaut telles que les moyennes, le mode et d'autres méthodes, d'autres techniques existent pour corriger les valeurs manquantes. Les data scientists, par exemple, suppriment parfois ces lignes manquantes, selon les cas.

De plus, il est essentiel d'avoir une réflexion critique sur votre stratégie avant de l'utiliser. Sinon, vous risquez d'obtenir des résultats d'analyse ou de prédiction indésirables. Certaines stratégies initiales de visualisation des données peuvent être utiles.

Comment dessiner des graphiques dans Jupyter Notebook

Affichez vos données avec les graphiques Jupyter Notebook.

Lire la suite

PartagerTweeterE-mail
Rubriques connexes
  • La programmation
  • Python
  • La programmation
  • base de données
A propos de l'auteur
Idowu Omisola (125 articles publiés)

Idowu est passionné par tout ce qui concerne les technologies intelligentes et la productivité. Pendant son temps libre, il joue avec le codage et passe à l'échiquier quand il s'ennuie, mais il aime aussi rompre avec la routine de temps en temps. Sa passion pour montrer aux gens le chemin de la technologie moderne le motive à écrire davantage.

Plus de Idowu Omisola

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner