scipy.stats.spearmanr(a,b)
을 사용하면 다음과 같이 나타납니다.scipy.stats.spearmanr : 경고 : 나누기에서 0으로 나눕니다.
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
가 포함되어 있습니다. 또한'np.seterr (all = 'raise')'을 설정하면 경고가 예외로 바뀌며,'spearmanr '의 어느 행이 0으로 나누어 졌는지 알려줍니다. – unutbu
0으로 나눈 값은 대각선에서 rs = 1입니다. – user333700