Python 将-inf替换为零值
我有一个数组:Python 将-inf替换为零值,python,arrays,numpy,infinity,Python,Arrays,Numpy,Infinity,我有一个数组: x = numpy.array([-inf, -inf, 37.49668579]) 有没有办法将-inf值更改为0?有: from numpy import inf x[x == -inf] = 0 使用isneginf 使用numpy.nan\u to_num可能更容易、更灵活: numpy.nan_to_num(x, neginf=0) Out[1]: array([ 0. , 0. , 37.49668579]) 根据我的测试,这
x = numpy.array([-inf, -inf, 37.49668579])
有没有办法将-inf值更改为0?有:
from numpy import inf
x[x == -inf] = 0
使用
isneginf
使用
numpy.nan\u to_num
可能更容易、更灵活:
numpy.nan_to_num(x, neginf=0)
Out[1]: array([ 0. , 0. , 37.49668579])
根据我的测试,这比np.isneginf快20%左右。这里如何使用括号?这个索引是有条件的,还是列表理解?没有列表理解。它是使用布尔数组的numpy索引。在本例中:“x的元素等于-inf”。NameError:全局名称“inf”不是defined@johnktejik您是否从numpy import inf运行了import语句
?
numpy.nan_to_num(x, neginf=0)
Out[1]: array([ 0. , 0. , 37.49668579])