Sobes.tech
Middle

Qual è la differenza tra NaN e None in Python?

sobes.tech AI

Risposta dell'AI

In Python, None è un oggetto speciale che indica l'assenza di valore o vuoto. Viene spesso usato per inizializzare variabili o come valore di ritorno di funzioni quando non c'è risultato.

NaN (Not a Number) è un valore speciale a virgola mobile definito nello standard IEEE 754, che indica un valore "non numerico". In Python, NaN si trova comunemente nelle librerie di elaborazione dati come NumPy o pandas, ed è usato per indicare dati numerici mancanti o non validi.

Principali differenze:

  • None è un oggetto Python, non legato ai tipi numerici.
  • NaN è un valore numerico a virgola mobile che si comporta in modo particolare nelle comparazioni (ad esempio, NaN != NaN).

Esempio:

import math

x = None
print(x is None)  # True

y = float('nan')
print(math.isnan(y))  # True
print(y == y)  # False, NaN non è uguale a se stesso

Nel contesto dell'elaborazione dei dati, None viene spesso usato per indicare l'assenza di valore in oggetti Python, mentre NaN per dati numerici mancanti in array e tabelle.