遇到我用scipy.stats.spearmanr(a,b)
,我得到:scipy.stats.spearmanr:警告:除以零鴻溝
Warning: divide by zero encountered in divide
操作正常結束,但會顯示警告。 a
和b
都是「正常」數據,(沒有「僅零」向量等)。任何想法是什麼原因,或如何暫停警告?
編輯:
這是spearmanr
有問題的行:
/usr/lib/python2.7/dist-packages/scipy/stats/stats.pyc in spearmanr(a, b, axis)
2226 rs = np.corrcoef(ar,br,rowvar=axisout)
2227
-> 2228 t = rs * np.sqrt((n-2)/((rs+1.0)*(1.0-rs)))
2229 prob = distributions.t.sf(np.abs(t),n-2)*2
2230
如果你能爲'了'張貼的價值觀和'B'其重現該問題,這將是有益的。另外,設置'np.seterr(all ='raise')'會將警告轉變爲一個異常,它會告訴你'spearmanr'內的哪一行除零。 – unutbu
除以0表示設計,對角線上rs = 1。 – user333700