Sobes.tech
Middle

Jaký je rozdíl mezi NaN a None v Pythonu?

sobes.tech AI

Odpověď od AI

V Pythonu je None speciální objekt, který označuje absenci hodnoty nebo prázdnotu. Často se používá k inicializaci proměnných nebo jako návratová hodnota funkcí, když není žádný výsledek.

NaN (Not a Number) je speciální hodnota s plovoucí desetinnou čárkou definovaná ve standardu IEEE 754, která označuje "nečíslicovou" hodnotu. V Pythonu se NaN obvykle vyskytuje v knihovnách pro práci s daty, například v NumPy nebo pandas, a používá se k označení chybějících nebo neplatných číselných dat.

Hlavní rozdíly:

  • None je objekt Pythonu, nesouvisející s číselnými typy.
  • NaN je číselná hodnota s plovoucí desetinnou čárkou, která se při porovnávání chová zvláštním způsobem (například NaN != NaN).

Příklad:

import math

x = None
print(x is None)  # True

y = float('nan')
print(math.isnan(y))  # True
print(y == y)  # False, NaN není rovno sám sobě

V kontextu zpracování dat se None často používá k označení absence hodnoty v Pythonových objektech, zatímco NaN se používá pro chybějící číselná data v polích a tabulkách.