我试着用一个移动的版本来划分一个numpy数组。数组包含0
,因此自然会出现被零除的问题。但我想插入一个np.where
就能解决这个问题。它没有。在
import numpy as np
tpx = np.array([0.95, 0.9, 0.85, 0.80, 0.75, 0.0, 0.0, 0.0])
px = np.where(tpx[:-1]!=0, tpx[1:]/tpx[:-1], 0)
px = np.where(tpx[:-1]!=0, tpx[1:]/tpx[:-1], 0)
__main__:1: RuntimeWarning: invalid value encountered in true_divide
Out[4]:
array([0.94736842, 0.94444444, 0.94117647, 0.9375 , 0. ,
0. , 0. ])
我也试过使用np.isclose
像这样
但它仍然发出警告。我怎样才能消除这个警告?不过,结果看起来还行。在
我不想开始对数组进行切片,因为结果数组保持其大小很重要。在
如果用nan替换0,它就有效了
相关问题 更多 >
编程相关推荐