(Python) Не понял 'RuntimeWarning: недопустимое значение, обнаруженное в double_scalars' - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть оператор в l oop, который генерирует матрицу

zij_mat[i][j]=(p_ij1-p_ij)/math.sqrt(((p_ij*(1-p_ij))/Ni_series[grades[i]]) + ((p_ij1*(1-p_ij1))/Ni_series[grades[i]]) + ((2*p_ij*p_ij1)/Ni_series[grades[i]]))

. Он выдает предупреждение во время выполнения как 'недопустимое значение, встречающееся в double_scalars', и помещает значения nan в некоторые позиции матрицы.

это может быть разделено на нулевое условие, я подумал

, затем я попробовал этот код

try:
    zij_mat[i][j]=(p_ij1-p_ij)/math.sqrt(((p_ij*(1-p_ij))/Ni_series[grades[i]]) + ((p_ij1*(1-p_ij1))/Ni_series[grades[i]]) + ((2*p_ij*p_ij1)/Ni_series[grades[i]]))
except ZeroDivisionError:
    zij_mat[i][j]=0
    continue

снова, он встречает то же предупреждение.

Может кто-нибудь помочь мне избавиться от этой проблемы?

Спасибо

...