在 Numpy 中测试有限性(非无穷大且非非数字)

numpyserver side programmingprogramming更新于 2025/9/26 5:22:17

要测试有限性,请使用 Python Numpy 中的 numpy.isfinite() 方法。当 x 不是正无穷大、负无穷大或 NaN 时返回 True;否则返回 false。如果 x 是标量,则返回标量。

此条件通过输入进行广播。在条件为 True 的位置,输出数组将被设置为 ufunc 的结果。在其他位置,输出数组将保留其原始值。请注意,如果通过默认的 out=None 创建了未初始化的 out 数组,则其中条件为 False 的位置将保持未初始化状态。

步骤

首先,导入所需的库 −

import numpy as np

要测试有限性,请使用 Python Numpy 中的 numpy.isfinite() 方法。检查数字 −

print("Finite? ", np.isfinite(1))
print("
Finite? ", np.isfinite(0))

检查浮点数是否为 -

print("
Finite? ", np.isfinite(14.)) print("
Finite? ", np.isfinite(3.6))

检查 NaN 是否为 -

print("
Finite? ", np.isfinite(np.nan)) print("
Finite? ", np.isfinite(np.NAN))

检查无穷大 −

print("
有限?", np.isfinite(np.inf)) print("
有限?", np.isfinite(np.NINF))

检查对数 −

print("
有限?", np.isfinite(np.log(1))) print("
有限?", np.isfinite(np.log(2)))

示例

import numpy as np

# 要测试有限性,请使用 Python Numpy 中的 numpy.isfinite() 方法

# 检查数字
print("Finite? ", np.isfinite(1))
print("
Finite? ", np.isfinite(0)) # 检查浮点数 print("
Finite? ", np.isfinite(14.)) print("
Finite? ", np.isfinite(3.6)) # 检查 NaN print("
Finite? ", np.isfinite(np.nan)) print("
Finite? ", np.isfinite(np.NAN)) # 检查无穷大 print("
Finite? ", np.isfinite(np.inf)) print("
Finite?", np.isfinite(np.NINF)) # 检查对数 print("
Finite?", np.isfinite(np.log(1))) print("
Finite?", np.isfinite(np.log(2)))

输出

Finite? True

Finite? True

Finite? True

Finite? True

Finite? False

Finite? False

Finite? False

Finite? False

Finite? True

Finite? True

相关文章