Я работаю с очень маленькими значениями p (несколько сотен десятичных знаков), и я пытаюсь обнаружить самый маленький из них. Похоже, что Python обнаруживает многие из них как ноль, поэтому при регистрации я получаю ошибку с нулевым делением.Python - Избегайте ошибок с нулевым делением при записи очень малых значений (несколько сотен десятичных знаков)
Чтобы избежать этого, я написал этот код:
smallest_val = min(np.array(p_value)[np.array(p_value) > 0])
for i in range(len(p_value)):
if p_value[i] == 0:
p_value[i] = smallest_val
p_value_log = []
for i in p_value:
b = log(i)
p_value_log.append(b)
Конечно, это не решает мою проблему в виде нескольких небольших р-значения тогда равны smallest_val и я не могу определить самых маленьких. Любая идея о том, как лучше всего это сделать?
Не можете ли вы поймать исключение и обеспечить квазиинтенсивное значение, когда это произойдет? –
Я могу поймать исключения, но как я могу обеспечить квази-бесконечное значение? Извините, если это звучит как основной вопрос, я новичок в Python. – CenCG