可以使用numpy.isfinite()
函数。该函数返回一个布尔数组,其中元素为True表示对应位置的值是有限的,为False表示对应位置的值是无限的。可以使用这个布尔数组作为索引,从原始数组中删除无限值。
以下是一个示例代码:
import numpy as np
# 创建一个包含无限值的numpy数组
arr = np.array([1.0, np.inf, 2.0, -np.inf, 3.0])
# 使用numpy.isfinite()函数获取有限值的布尔数组
finite_mask = np.isfinite(arr)
# 使用布尔数组作为索引,从原始数组中删除无限值
finite_arr = arr[finite_mask]
print(finite_arr)
输出结果为:
[1. 2. 3.]
在这个例子中,原始数组arr
包含有限值和无限值。通过使用np.isfinite()
函数,我们获取了一个布尔数组finite_mask
,其中True
表示对应位置的值是有限的,False
表示对应位置的值是无限的。然后,我们使用finite_mask
作为索引,从原始数组arr
中获取了只包含有限值的新数组finite_arr
。最后,我们打印输出了finite_arr
。
推荐的腾讯云相关产品:腾讯云计算服务(https://cloud.tencent.com/product/cvm)
领取专属 10元无门槛券
手把手带您无忧上云