Вместо традиционного для Python «floor division» метод np.divide() возвращает истинное деление. Истинное деление регулирует тип вывода, чтобы представить лучшее решение, независимо от типа.
Что такое функция numpy.divide() в Python?
np.divide() в Python — это библиотечная функция numpy, используемая для выполнения деления элементов первого массива на элементы второго массива. Процесс деления происходит поэлементно между двумя массивами. Функция numpy.divide() принимает два массива в качестве аргументов и возвращает тот же размер, что и входной массив.
Для поэлементного разделения форма обоих массивов должна быть одинаковой. Общеизвестно, что деление на ноль невозможно. Итак, элементы во втором массиве должны быть ненулевыми. В противном случае возникает ошибка.
Синтаксис и параметры
|
1 |
numpy.divide(arr_A, arr_B) |
Функция divide() принимает до двух основных параметров:
- arr_A : array-like, входной массив array_A, который действует как делимое.
- arr_B : array-like, входной массив array_B, который действует как делитель.
Возвращаемое значение
Функция divide() возвращает массив того же размера, что и входной массив, содержащий частные значения, когда элементы массива arr_A поэлементно делятся на элементы массива arr_B.
Программа для демонстрации работы numpy.divide()
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# importing the numpy module import numpy as np # First Parameter arr_A = np.array([8, 18, 28, 34]) # Shape of first array, arr_A is: print("Shape of first array, arr_A is: ", arr_A.shape) # Second Parameter arr_B = np.array([2, 4, 6, 8]) # Shape of second array, arr_B is: print("\nShape of second array, arr_B is:", arr_B.shape) out = np.divide(arr_A, arr_B) print("\nOutput obtained is: ", out) # Shape of output array, out is: print("\nShape of output array, out is: ", out.shape) |
Выход
|
1 2 3 4 5 6 7 |
Shape of first array, arr_A is: (4,) Shape of second array, arr_B is:(4,) Output obtained is: [4. 4.5 4.66666667 4.25] Shape of output array, out is: (4,) |
Объяснение.
В программе div1.py мы взяли два пустых массива с именами arr_A и arr_B, состоящие из разных элементов массива; мы передали эти два массива в качестве параметров внутри метода np.divide(), первый параметр arr_A действует как делимое, элементы которого необходимо разделить, а arr_B действует как делитель.
Элементы массива arr_A делятся поэлементно элементами массива arr_B. Результат деления сохраняется в переменной с именем out, массиве numpy той же формы, что и входные массивы, и содержит частные значения, полученные после деления.
Программа для деления элемента массива на скалярное значение
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# importing the numpy module import numpy as np # First Parameter arr_A = np.array([8, 18, 28, 34]) print("Elements in arr_A are: ", arr_A) # Second Parameter is a scalar value scal_val = 6 print("\nScalar value is: ", scal_val) out = np.divide(arr_A, scal_val) print("\nOutput obtained is: ", out) |
Выход
|
1 2 3 4 5 |
Elements in arr_A are: [ 8 18 28 34 ] Scalar value is: 6 Output obtained is: [1.33333333 3. 4.66666667 5.66666667] |
Объяснение
В программе div2.py мы взяли пустой входной массив с именем arr_A, который выполняет функцию делимого, и скалярное значение, то есть 6, которое будет действовать как делитель, мы передали arr_A в качестве первого параметра и скаляр value в качестве второго параметра внутри метода np.divide() скалярное значение будет передано в массив той же формы, что и arr_A. Далее деление производится поэлементно, как обычно.
Результат деления сохраняется в переменной с именем out, которая представляет собой пустой массив той же формы, что и входной массив, и содержит частные значения, полученные после деления.
