我隔离在我的剧本的问题,即由于在标准偏差计算使用SciPy的的.tstd机能发生这种尝试时零浮动师,ZeroDivisionError:计算标准偏差
sp.stats.tstd(IR)
在我的IR
值是0.0979
。有没有办法让它停止(我认为)将它舍入到零?我已经尝试从以前的一个stackoverflow帖子,建议调用号码np.float64
,但没有奏效的建议。希望有人有答案。
已满错误打印输出:
Traceback (most recent call last):
File "Utt_test.py", line 995, in <module>
X.write(Averaging())
File "Utt_test.py", line 115, in Averaging
IR_sdev=str(round(sp.stats.tstd(IR),4))
File "/usr/lib64/python2.7/site-packages/scipy/stats/stats.py", line 848, in tstd
return np.sqrt(tvar(a,limits,inclusive))
File "/usr/lib64/python2.7/site-packages/scipy/stats/stats.py", line 755, in tvar
return a.var()*(n/(n-1.))
ZeroDivisionError: float division by zero
'tstd'需要numpy的阵列的输入。很难计算单个数字的标准偏差。 – Daniel
根据错误信息,在计算“a.var()*(n /(n-1。))”时出现问题。比问题是''n = 1.'''。与numpy float或IR无关... – hivert
我看到...嗯,那么必须重写一些东西。该程序通常运行多个数字。我正在尝试一个特例。 – Matt