Accéder au contenu principal

Python NaN : 4 façons de vérifier les valeurs manquantes en Python

Explorez 4 façons de détecter les valeurs NaN en Python, à l'aide de NumPy et de Pandas. Apprenez les principales différences entre NaN et None pour nettoyer et analyser efficacement les données.
Actualisé 14 nov. 2024  · 5 min de lecture

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

La réponse courte : Utilisez soit la fonction isnan() ou la fonction Pandas .isna() méthode

Lorsque vous traitez des valeurs manquantes en Python, l'approche dépend largement de la structure de données avec laquelle vous travaillez.

Pour les valeurs individuelles 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 individuelles, 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 DataFrame : Utiliser les 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, en 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())

Lorsque vous exécutez ce code, la sortie indique la présence de valeurs NaN dans un contexte plus intéressant, comme indiqué ci-dessous :

   Column1  Column2
0    False    False
1    False     True
2     True    False

La différence entre NaN et None

Comprendre la distinction entre NaN et None est crucial en Python. NaN est une représentation en virgule flottante de "Not a Number" (pas un nombre), utilisée principalement dans les calculs numériques. None Par contre, est l'objet de Python qui représente l'absence de valeur, un peu comme null dans d'autres langages. Alors que NaN est utilisé dans les calculs mathématiques ou scientifiques, None est plus général et indique le manque de données.

4 façons de vérifier la présence de NaN en Python

La navigation dans les ensembles de données pour identifier les valeurs manquantes est une étape critique du prétraitement des données. Explorons quatre méthodes pratiques pour vérifier les valeurs NaN en Python, en poursuivant les exemples engageants que nous avons déjà utilisés.

1. Vérification de la présence de NaN avec np.isnan()

Comme nous l'avons vu précédemment, NumPy fournit une approche directe pour identifier les valeurs NaN dans les valeurs individuelles et 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 la présence 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 inestimable pour les tâches de manipulation de données.

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: [False  True  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 la présence de NaN dans les DataFrame à l'aide de Pandas .isna() ou .isnull() méthodes

Les DataFrames de Pandas offrent également les méthodes .isna() et .isnull() pour repérer sans effort les valeurs manquantes dans les ensembles de données, offrant ainsi une vue d'ensemble claire de l'exhaustivité des données.

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 la présence de NaN dans les DataFrame à 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 purement Python.

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

Réflexions finales et ressources complémentaires

L'identification et la gestion des valeurs NaN est une étape fondamentale dans le nettoyage et la préparation de vos données pour l'analyse. Que vous travailliez avec des tableaux, des séries ou des cadres de données, il est essentiel de comprendre les outils et les méthodes disponibles dans Python pour traiter les données manquantes. Pour en savoir plus, consultez 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 voyage en Python dès aujourd'hui !

cursus

Python Data Fundamentals

30hrs hr
Grow your data skills, discover how to manipulate and visualize data, and apply advanced analytics to make data-driven decisions.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus