Sobes.tech
Middle

Mis vahe on NaN ja None Pythonis?

sobes.tech AI

Vastus AI-lt

In Python, None is a special object that indicates the absence of a value or emptiness. It is often used to initialize variables or as a return value of functions when there is no result.

NaN (Not a Number) is a special floating-point value defined in the IEEE 754 standard, which indicates a "non-numeric" value. In Python, NaN is commonly found in data processing libraries like NumPy or pandas, and is used to denote missing or invalid numerical data.

Main differences:

  • None is a Python object, not related to numeric types.
  • NaN is a floating-point value that behaves in a special way during comparisons (e.g., NaN != NaN).

Example:

import math

x = None
print(x is None)  # True

y = float('nan')
print(math.isnan(y))  # True
print(y == y)  # False, NaN is not equal to itself

In the context of data processing, None is often used to indicate the absence of a value in Python objects, while NaN is used for missing numerical data in arrays and tables.