У меня есть два списка a
и b
одинаковой длины. Я хочу рассчитать сумму их отношения:
c = np.sum(a/b)
как я могу иметь нулевое (0) значение в коэффициенте суммирования, когда есть деление на ноль?
РЕДАКТИРОВАТЬ: Вот несколько ответов, которые я проверил для своего случая, и все еще вызываю ошибку. Наверное, я что-то упускаю. Массив, содержащий нулевые элементы, равен counts
:
try:
cnterr = (counts/np.mean(counts))*(((cnterr/counts)**2 + (meanerr/np.mean(counts))**2 ))**1/2
except ZeroDivisionError:
cnterr = (counts/np.mean(counts))*(((meanerr/np.mean(counts))**2 ))**1/2
RuntimeWarning: divide by zero encountered in divide
cnterr = (counts/np.mean(counts))*(((cnterr/counts)**2 + (meanerr/np.mean(counts))**2 ))**1/2
А также от np.where()
:
cnterr = np.where(counts != 0, ((counts/np.mean(counts))*(((cnterr/counts)**2 + (meanerr/np.mean(counts))**2 ))**1/2), 0)
Выдает ту же ошибку.