У меня есть оператор в 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
снова, он встречает то же предупреждение.
Может кто-нибудь помочь мне избавиться от этой проблемы?
Спасибо