Sobes.tech
Middle

Qual é a diferença entre NaN e None em Python?

sobes.tech IA

Resposta da IA

Em Python, None é um objeto especial que indica a ausência de valor ou vazio. É frequentemente usado para inicializar variáveis ou como valor de retorno de funções quando não há resultado.

NaN (Not a Number) é um valor especial de ponto flutuante definido no padrão IEEE 754, que indica um valor "não numérico". Em Python, NaN geralmente aparece em bibliotecas de manipulação de dados, como NumPy ou pandas, e é usado para indicar dados numéricos ausentes ou inválidos.

Principais diferenças:

  • None é um objeto Python, não relacionado com tipos numéricos.
  • NaN é um valor numérico de ponto flutuante que se comporta de forma especial em comparações (por exemplo, NaN != NaN).

Exemplo:

import math

x = None
print(x is None)  # True

y = float('nan')
print(math.isnan(y))  # True
print(y == y)  # False, NaN não é igual a ele mesmo

No contexto do processamento de dados, None é frequentemente usado para indicar a ausência de valor em objetos Python, enquanto NaN é usado para dados numéricos ausentes em matrizes e tabelas.