我正在使用numpy.log10来计算概率值数组的对数。数组中有一些零,我正在尝试使用
result = numpy.where(prob > 0.0000000001, numpy.log10(prob), -10)
但是,RuntimeWarning: divide by zero encountered in log10仍然出现,并且我确定这是引起警告的行。
RuntimeWarning: divide by zero encountered in log10
尽管我的问题已解决,但我还是困惑为什么此警告一次又一次出现?
numpy.log10(prob)计算所有元素的以10为底的对数prob,甚至是元素未选择的对数where。如果需要,可以在取对数以消除问题之前prob用10**-10或零填充一些零值。(不过,请确保您不`prob
numpy.log10(prob)
prob
where
10**-10
0.0000000001`使用虚拟值进行计算。)