Numpy isinf()函数是用于检测一个数组中的元素是否为正无穷大或负无穷大。它返回一个布尔型数组,表示每个元素是否是正无穷大或负无穷大。
语法:
numpy.isinf(x, out=None, where=True, casting='same_kind', order='K', dtype=None)
参数说明:
x:输入的数组。
out:可选参数,用于指定输出的位置。
where:可选参数,bool型数组,用于指定哪个元素需要计算。
casting:指定强制转换类型的规则。
order:指定数组按行(C)或列(F)排列。
dtype:输出数组的数据类型。
以下是isinf()函数的两个实例:
import numpy as np
arr = np.array([1, 0, -1, np.inf, -np.inf])
result = np.isinf(arr)
print(result)
输出结果:
[False False False True True]
解释:数组中第四个元素为正无穷大,第五个元素为负无穷大,其余元素都不是正无穷大或负无穷大。
import numpy as np
arr = np.array([1, 2, np.inf, 4, np.inf])
# 将正无穷大元素替换为10,将负无穷大元素替换为-10
arr[np.isinf(arr) & (arr > 0)] = 10
arr[np.isinf(arr) & (arr < 0)] = -10
print(arr)
输出结果:
[ 1. 2. 10. 4. 10.]
解释:原数组中有两个元素为无穷大,分别是正无穷大和负无穷大。通过isinf()函数判断出这两个元素,然后将它们分别替换为有限值10和-10,最终得到新的数组。
本文链接:http://task.lmcjl.com/news/17091.html