numpy.divide
-
numpy.divide(x1, x2[, out]) = -
Деление аргументов поэлементно.
Параметры: x1 : array_like
Массив делимого.
x2 : array_like
Массив делителя.
out : ndarray, необязательно
Массив, в который помещается результат. Его тип сохраняется, и он должен иметь правильную форму для хранения результата. См. doc.ufuncs.
Возвращает: y : ndarray или скаляр
Результат деления
x1/x2, поэлементно. Возвращает скаляр, если иx1иx2являются скалярами.См. также
seterr- Установить, следует ли поднимать или предупреждать об переполнении, потере точности и делении на ноль.
Примечания
Эквивалентно
x1/x2с точки зрения распространения массивов.Поведение при делении на ноль может быть изменено с помощью
seterr.В Python 2, когда и
x1иx2являются целочисленного типа,divideбудет вести себя какfloor_divide. В Python 3, он ведет себя какtrue_divide.Примеры
>>> np.divide(2.0, 4.0) 0.5 >>> x1 = np.arange(9.0).reshape((3, 3)) >>> x2 = np.arange(3.0) >>> np.divide(x1, x2) array([[ NaN, 1. , 1. ], [ Inf, 4. , 2.5], [ Inf, 7. , 4. ]])Обратите внимание на поведение с целочисленными типами (только Python 2):
>>> np.divide(2, 4) 0 >>> np.divide(2, 4.) 0.5
Деление на ноль всегда дает ноль в целочисленной арифметике (снова, только Python 2), и не вызывает исключения или предупреждения:
>>> np.divide(np.array([0, 1], dtype=int), np.array([0, 0], dtype=int)) array([0, 0])
Однако деление на ноль можно перехватить, используя
seterr:>>> old_err_state = np.seterr(divide='raise') >>> np.divide(1, 0) Traceback (most recent call last): File "<stdin>", line 1, in <module> FloatingPointError: divide by zero encountered in divide
>>> ignored_states = np.seterr(**old_err_state) >>> np.divide(1, 0) 0
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.divide.html