numpy.true_divide
numpy.true_divide(x1, x2, *ufunc_args) = <ufunc 'true_divide'>
Функция true_divide() вычисляет поэлементное истинное деление значений массива x1 на значения массива x2. В Python 3.0 и выше данная функция является эквивалентной numpy.divide()
, но вносит некоторую ясность в код, так как явно указывает на то, что выполняется истинное деление.
Данная функция эквивалентна команде x1/x2
(если вы используете Python 3.0 и выше) и является аналогом оператора /
, который перегружен в NumPy таким образом, что бы истинное деление выполнялось поэлементно в случае одинаковых форм входных массивов, а в случае разных форм, поддерживался механизм транслирования массивов.
Однако, numpy.true_divide()
является универсальной функцией, т.е. поддерживает целый ряд параметров, которые позволяют оптимизировать ее работу в зависимости от специфики алгоритма, в котором она необходима.
Для наиболе точного результата numpy.true_divide()
корректирует тип данных выходного массива вне зависимости типов данных входных массивов.
-
- x1, x2 - числа, массивы или подобные массивам объекты
- Входные данные, где x1 - делимое, x2 - делитель.
- *ufunc_args - аргументы универсальной функции
- Аргументы, позволяющие настроить и оптимизировать работу функции (подробнее см. универсальные функции).
-
- результат - массив NumPy или вещественное число
- Массив чисел, которые являются частным соответствующих элементов из x1 и x2. Возвращает число, если x1 и x2 являются числами.
Примеры
>>> import numpy as np
>>>
>>> np.true_divide(3, 7)
0.42857142857142855
>>>
>>> np.true_divide([12, 15, 18], 3)
array([4., 5., 6.])
>>>
>>> a = np.array([2, 4, 6])
>>>
>>> np.true_divide(a, a - 1)
array([2. , 1.33333333, 1.2 ])
>>>
>>> b = np.arange(9).reshape(3, 3)
>>> b
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>>
>>> np.true_divide(b, a)
array([[0. , 0.25 , 0.33333333],
[1.5 , 1. , 0.83333333],
[3. , 1.75 , 1.33333333]])