Vai al contenuto principale

Python NaN: 4 modi per verificare i valori mancanti in Python

Scopri 4 modi per rilevare i valori NaN in Python, usando NumPy e Pandas. Impara le differenze chiave tra NaN e None per pulire e analizzare i dati in modo efficiente.
Aggiornato 29 set 2026  · 5 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Nel mondo della data science e dell’analisi, imbattersi in dati mancanti è più la regola che l’eccezione. I valori mancanti possono falsare le analisi, portare a conclusioni errate e in generale ostacolare il flusso di elaborazione dei dati. Affrontare questi vuoti è fondamentale per mantenere l’integrità della tua analisi. Questo articolo ha l’obiettivo di fornirti diversi modi per identificare i valori NaN (Not a Number) in Python.

La risposta breve: usa la funzione isnan() di NumPy o il metodo .isna() di Pandas

Quando gestisci valori mancanti in Python, l’approccio dipende in gran parte dalla struttura dati con cui stai lavorando.

Per singoli valori o array: usa NumPy

La funzione isnan() di NumPy è ideale per identificare i NaN in array numerici o singoli valori, offrendo una soluzione semplice ed efficiente. Ecco un esempio pratico!

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]

Per DataFrame: usa Pandas

Pandas offre metodi completi come .isna() e .isnull() per rilevare i valori mancanti su oggetti DataFrame o Series, integrandosi perfettamente nei flussi di analisi dei dati.

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

Quando esegui questo codice, l’output indicherà la presenza di valori NaN in un contesto più interessante, come mostrato sopra.

La differenza tra NaN e None

Capire la distinzione tra NaN e None è fondamentale in Python. NaN è una rappresentazione in virgola mobile di "Not a Number", usata principalmente nei calcoli numerici. None, invece, è l’oggetto di Python che rappresenta l’assenza di un valore, simile a null in altri linguaggi. Mentre NaN è usato in contesti matematici o scientifici, None è più generico e indica la mancanza di un dato.

4 modi per verificare i NaN in Python

Individuare i valori mancanti nei dataset è un passaggio critico nel preprocessing dei dati. Esploriamo quattro metodi pratici per controllare i valori NaN in Python, proseguendo con gli esempi coinvolgenti che abbiamo già usato.

1. Verificare i NaN con np.isnan()

Come abbiamo visto, NumPy offre un approccio diretto per identificare i valori NaN sia in singoli valori sia in array, essenziale per l’analisi dei dati numerici.

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. Verificare i NaN con pd.isna()

Pandas semplifica l’individuazione dei valori NaN nelle strutture dati, dagli scalari ai DataFrame complessi, risultando prezioso per le attività di manipolazione dei dati.

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. Verificare i NaN nei DataFrame con i metodi di Pandas .isna() o .isnull()

I DataFrame di Pandas offrono anche i metodi .isna() e .isnull() per individuare senza sforzo i valori mancanti nei dataset, fornendo una panoramica chiara della completezza dei dati.

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. Verificare i NaN nei DataFrame usando math.isnan()

Per controlli su singoli numeri, la funzione math.isnan() offre una soluzione semplice ma efficace, soprattutto quando lavori con tipi di dati Python puri.

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

Considerazioni finali e risorse aggiuntive

Identificare e gestire i valori NaN è un passaggio fondamentale per pulire e preparare i tuoi dati all’analisi. Che tu stia lavorando con array, series o data frame, conoscere gli strumenti e i metodi disponibili in Python per trattare i dati mancanti è essenziale. Per approfondire, dai un’occhiata alle seguenti risorse:


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel è un formatore e speaker in Data Science, nonché VP dei Media presso DataCamp. Adel ha pubblicato diversi corsi e sessioni di formazione live su analisi dei dati, machine learning e data engineering. È appassionato di diffondere competenze e alfabetizzazione sui dati all'interno delle organizzazioni e di esplorare l'intersezione tra tecnologia e società. Ha un MSc in Data Science and Business Analytics. Nel tempo libero, lo trovi spesso in compagnia del suo gatto Louis.

Argomenti
Python

Inizia oggi il tuo percorso con Python!

Programma

Fondamenti di dati in Python

28 ore
Accresci le tue competenze sui dati, scopri come manipolarli e visualizzarli e applica analisi avanzate per prendere decisioni basate sui dati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro