Accéder au contenu principal

Python NaN : Quatre méthodes pour vérifier les valeurs manquantes en Python

Découvrez quatre méthodes pour détecter les valeurs NaN en Python, à l'aide de NumPy et Pandas. Apprenez les différences essentielles entre NaN et None afin de nettoyer et d'analyser efficacement les données.
Actualisé 8 sept. 2025  · 5 min de lecture

Dans le domaine de la science des données et de l'analyse, rencontrer des données manquantes est plus la règle que l'exception. Les valeurs manquantes peuvent fausser l'analyse, conduire à des conclusions erronées et, de manière générale, perturber le flux de traitement des données. Il est essentiel de combler ces lacunes afin de préserver l'intégrité de votre analyse. Cet article a pour objectif de vous présenter différentes méthodes permettant d'identifier les valeurs NaN (Not a Number) en Python.

Réponse succincte : Veuillez utiliser soit NumPy's isnan() fonction ou Pandas .isna() méthode

Lorsqu'il s'agit de traiter des valeurs manquantes en Python, l'approche dépend en grande partie de la structure des données avec laquelle vous travaillez.

Pour les valeurs uniques ou les tableaux : Utiliser NumPy

La fonction isnan() de NumPy est idéale pour identifier les NaN dans les tableaux numériques ou les valeurs uniques, offrant une solution simple et efficace. Le voici en action.

import numpy as np

# Single value check
my_missing_value = np.nan
print(np.isnan(my_missing_value))

# Output: True

# Array check
my_missing_array = np.array([1, np.nan, 3])
nan_array = np.isnan(my_missing_array)
print(nan_array)

# Output: [False  True False]

Pour les DataFrames : Utiliser Pandas

Pandas fournit des méthodes complètes telles que .isna() et .isnull() pour détecter les valeurs manquantes dans les objets DataFrame ou Series, s'intégrant de manière transparente aux flux de travail d'analyse des données.

import pandas as pd
import numpy as np

my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())

#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

Lorsque vous exécutez ce code, le résultat indiquera la présence de valeurs NaN dans un contexte plus pertinent, comme illustré ci-dessus.

La différence entre NaN et None

Il est essentiel de comprendre la distinction entre NaN et None en Python. NaN est une représentation en virgule flottante de « Not a Number » (pas un nombre), principalement utilisée dans les calculs numériques. None, quant à lui, est un objet Python représentant l'absence de valeur, similaire au null dans d'autres langages. Alors que NaN est utilisé dans les calculs mathématiques ou scientifiques, « None » est plus polyvalent et indique l'absence de données.

Quatre méthodes pour détecter les valeurs NaN en Python

La navigation dans les ensembles de données afin d'identifier les valeurs manquantes constitue une étape essentielle du prétraitement des données. Explorons quatre méthodes pratiques pour vérifier les valeurs d'NaN e en Python, en poursuivant avec les exemples intéressants que nous avons déjà utilisés.

1. Vérification de la présence de NaN à l'aide de np.isnan()

Comme nous l'avons vu précédemment, NumPy offre une approche simple pour identifier les valeurs d'NaN, tant pour les valeurs individuelles que pour les tableaux, ce qui est essentiel pour l'analyse des données numériques.

import numpy as np

# Checking a single value
print(np.isnan(np.nan))

# Output: True

# Checking an array
my_array = np.array([1, 5, np.nan])
print(np.isnan(my_array))

# Output: [False False  True]

2. Vérification de NaN en utilisant pd.isna()

Pandas simplifie la détection des valeurs NaN dans les structures de données, des scalaires aux DataFrame complexes, ce qui le rend extrêmement utile pour les tâches de manipulation de données.

import numpy as np
import pandas as pd

# Checking a single value
print(pd.isna(np.nan))

# Output: True

# Checking a pandas Series
my_series = pd.Series(["Python", np.nan, "The Best"])
print(my_series.isna())

# Output:
# 0    False
# 1     True
# 2    False

# Checking a pandas DataFrame
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(pd.isna(my_dataframe)) # Output a DataFrame with True for missing values

3. Vérification de NaN dans les DataFrames à l'aide de Pandas .isna() ou .isnull() méthodes

Les DataFrame Pandas proposent également les méthodes .isna() et .isnull() pour identifier facilement les valeurs manquantes dans les ensembles de données, offrant ainsi une vue d'ensemble claire de l'exhaustivité des données.

import numpy as np
import pandas as pd

# Create a dataframe with missing values
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

print(my_dataframe.isnull())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

4. Vérification de NaN dans les DataFrames à l'aide de math.isnan()

Pour les vérifications de nombres individuels, la fonction math.isnan() offre une solution simple mais efficace, en particulier lorsqu'il s'agit de types de données Python purs.

import math

# Assuming my_number is a float or can be converted to one
my_number = float('nan')
print(math.isnan(my_number))

# Output: True

Conclusions et ressources supplémentaires

L'identification et la gestion des valeurs NaN constituent une étape fondamentale dans le nettoyage et la préparation de vos données en vue de leur analyse. Que vous travailliez avec des tableaux, des séries ou des cadres de données, il est essentiel de bien comprendre les outils et les méthodes disponibles dans Python pour traiter les données manquantes. Pour approfondir le sujet, veuillez consulter les ressources suivantes :


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel est un éducateur, conférencier et évangéliste en science des données à DataCamp où il a publié plusieurs cours et formations en direct sur l'analyse des données, l'apprentissage automatique et l'ingénierie des données. Il est passionné par la diffusion des compétences en matière de données dans les organisations et par l'intersection de la technologie et de la société. Il est titulaire d'une maîtrise en science des données et en analyse commerciale. Pendant son temps libre, vous pouvez le trouver en train de traîner avec son chat Louis.

Sujets

Commencez votre parcours Python dès aujourd'hui !

Cursus

Principes de base des données en Python

0 min
Développez vos compétences en matière de données, découvrez comment manipuler et visualiser les données, et appliquez des analyses avancées pour prendre des décisions basées sur les données.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

Didacticiel

Tableaux Python

Tableaux Python avec exemples de code. Découvrez comment créer et imprimer des tableaux à l'aide de Python NumPy dès aujourd'hui.
DataCamp Team's photo

DataCamp Team

Didacticiel

Comment arrondir à 2 décimales en Python

Découvrez comment arrondir un nombre à deux décimales dans Python pour une plus grande précision à l'aide de techniques telles que round(), format() et les techniques de formatage de chaînes.
Allan Ouko's photo

Allan Ouko

Didacticiel

Méthode index() de Python expliquée à l'aide d'exemples

Découvrez comment utiliser la fonction index() de Python pour trouver la position d'éléments dans des listes.
Sejal Jaiswal's photo

Sejal Jaiswal

Didacticiel

Tutoriel sur les méthodes .append() et .extend() de Python

Apprenez à utiliser les méthodes .append() et .extend() pour ajouter des éléments à une liste.
DataCamp Team's photo

DataCamp Team

Didacticiel

Séquence de Fibonacci en Python : Apprenez et explorez les techniques de codage

Veuillez découvrir le fonctionnement de la suite de Fibonacci. Veuillez explorer ses propriétés mathématiques et ses applications concrètes.
Laiba Siddiqui's photo

Laiba Siddiqui

Didacticiel

Tutoriel sur les boucles « for » en Python

Apprenez à implémenter des boucles « for » en Python pour itérer une séquence ou les lignes et colonnes d'un DataFrame pandas.
Aditya Sharma's photo

Aditya Sharma

Voir plusVoir plus