numpy.isfinite#

numpy.isfinite(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'isfinite'>#

逐元素測試有限性(非無限大且非非數)。

結果會以布林陣列形式傳回。

參數:
x陣列型物件

輸入值。

outndarray、None 或 ndarray 和 None 的 tuple,可選

儲存結果的位置。如果提供,則其形狀必須與輸入廣播到的形狀相同。如果未提供或為 None,則會傳回新分配的陣列。tuple(僅可作為關鍵字引數)的長度必須等於輸出的數量。

where陣列型物件,可選

此條件會廣播到輸入。在條件為 True 的位置,out 陣列將設定為 ufunc 結果。在其他位置,out 陣列將保留其原始值。請注意,如果透過預設 out=None 建立未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。

**kwargs

有關其他僅限關鍵字引數,請參閱 ufunc 文件

傳回值:
yndarray,布林值

x 不是正無限大、負無限大或 NaN,則為 True;否則為 False。如果 x 是純量,則這是一個純量。

另請參閱

isinf, isneginf, isposinf, isnan

註解

非數 (NaN)、正無限大和負無限大被視為非有限。

NumPy 使用二進制浮點算術 IEEE 標準 (IEEE 754)。這表示非數 (NaN) 不等於無限大。正無限大也不等於負無限大。但無限大等於正無限大。如果當 x 是純量輸入時也提供了第二個引數,或者如果第一個和第二個引數具有不同的形狀,則會產生錯誤。

範例

>>> import numpy as np
>>> np.isfinite(1)
True
>>> np.isfinite(0)
True
>>> np.isfinite(np.nan)
False
>>> np.isfinite(np.inf)
False
>>> np.isfinite(-np.inf)
False
>>> np.isfinite([np.log(-1.),1.,np.log(0)])
array([False,  True, False])
>>> x = np.array([-np.inf, 0., np.inf])
>>> y = np.array([2, 2, 2])
>>> np.isfinite(x, y)
array([0, 1, 0])
>>> y
array([0, 1, 0])