Python math.nan 常量



Python 的 math.nan 常量表示“非數字”。它是 Python 的 math 模組 中預定義的值,用於表示未定義或無法表示的數值,特別是那些由未定義的數學運算產生的數值。

在一般數學中,當嘗試執行數學上未定義的運算時會發生 NaN,例如將零除以零,對負數開平方,或任何涉及無窮大的運算。

NaN 充當佔位符,表示計算結果無法表示為有效的數值。它不同於無窮大 (∞) 和負無窮大 (-∞),後者表示無界值,並且用於處理數值計算中的異常情況。

語法

以下是 Python math.nan 常量的基本語法:

math.nan

返回值

該常量返回一個浮點型 nan(非數字)值。

示例 1

在以下示例中,我們正在建立一個 NaN 值。我們將變數“nan_value”初始化為 math.nan 常量,該常量表示“非數字”(NaN)。變數“nan_value”儲存一個值,該值表示未定義的數值資料:

import math
nan_value = math.nan
print("The value of nan_value is:", nan_value)

輸出

獲得的輸出如下:

The value of nan_value is: nan

示例 2

在這裡,我們正在從資料點列表中過濾出 NaN 值。我們建立了一個新列表“valid_data”,其中僅包含原始列表中的非 NaN 值。此技術通常用於資料處理以處理缺失或未定義的資料點:

import math
data = [2.5, math.nan, 3.7, math.nan, 1.9]
valid_data = [x for x in data if not math.isnan(x)]
print("The valid data points are:", valid_data)

輸出

以下是上述程式碼的輸出:

The valid data points are: [2.5, 3.7, 1.9]

示例 3

任何數字與 NaN 的和始終為 NaN。

在此示例中,我們執行一個運算元之一為 NaN 的計算:

import math
x = 10
y = math.nan
result = x + y
print("The result of the calculation is:", result)

輸出

產生的結果如下所示:

The result of the calculation is: nan

示例 4

現在,我們建立一個包含數值的列表,包括由 math.nan 表示的 NaN 值。然後,我們使用 列表推導式列表 中過濾出 NaN 值。結果列表僅包含有效的數值:

import math
values = [1, math.nan, 3, math.nan, 5]
filtered_values = [x for x in values if not math.isnan(x)]
print("The list after filtering out NaN values is:", filtered_values)

輸出

我們得到如下所示的輸出:

The list after filtering out NaN values is: [1, 3, 5]
python_maths.htm
廣告