Valores do tipo `nan` em Python

Números / Tutorial Python

Em Python, nan (Not a Number) é um valor especial usado para representar resultados indefinidos ou não representáveis em cálculos numéricos. Ele é frequentemente encontrado em operações envolvendo números de ponto flutuante.

Como identificar nan

O módulo math fornece a função isnan() para verificar se um valor é nan:

import math

x = float('nan')
print(math.isnan(x))

Saída:

True

Operações com nan

Uma característica importante de nan é que ele não é igual a si mesmo:

x = float('nan')
print(x == x)

Saída:

False

Isso pode ser usado como uma forma alternativa de verificar se um valor é nan.

Manipulando nan

Ao trabalhar com bibliotecas como numpy, você pode encontrar funções específicas para lidar com nan, como numpy.isnan():

import numpy as np

arr = np.array([1.0, np.nan, 3.0])
print(np.isnan(arr))

Saída:

[False True False]

Além disso, o numpy oferece funções como np.nan_to_num() para substituir valores nan por um número específico.

Conclusão

Os valores nan são úteis para representar dados ausentes ou resultados indefinidos, mas é importante tratá-los adequadamente para evitar problemas em cálculos e análises.