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 是純量,則這是一個純量。
註解
非數 (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])