Функция np.floor_divide() делит два массива одинакового размера в Python. Функция floor_divide() возвращает наибольшее целое число, меньшее или равное делению входных данных. Она эквивалентна оператору деления( // ) и сочетается с Python.
Например, если у нас есть два массива, arr1 и arr2, то floor_divide разделит значения arr2 на значения arr1, но мы получим минимальный результат.
Эквивалентен оператору // с оператором остатка(%). Упрощенное уравнение: b = a % b + b *(a // b) до округления. Мы также можем разделить элементы массива на любой скаляр.
Синтаксис
|
1 |
numpy.floor_divide(arr1, arr2, out=None) |
Параметры
Эта функция принимает в основном параметры:
- arr1: это входной массив, который действует как делимое.
- arr2: это входной массив, который действует как делитель.
- out: необязательный параметр. Место, в котором будет сохранен результат. Если указано, форма, в которой должны быть широковещательные входные данные. Если возвращается только что выделенный массив и он не получен или None. Кортеж (возможен только как аргумент ключевого слова) должен иметь длину, равную выходному номеру.
Возвращаемое значение
Функция floor_divide() возвращает floor(x1/x2), где x1 и x2 являются скалярными.
Пример
Программа, показывающая работу floor_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, 5, 4]) # Shape of second array, arr_B is: print("Shape of second array, arr_B is:", arr_B.shape) out = np.floor_divide(arr_A, arr_B) print("Output obtained is: ", out) # Shape of output array, out is: print("Shape of output array, out is: ", out.shape) |
Выход:
|
1 2 3 4 |
Shape of first array, arr_A is: (4,) Shape of second array, arr_B is:(4,) Output obtained is: [4 4 5 8] Shape of output array, out is: (4,) |
Объяснение.
В этой программе мы взяли два пустых массива с именами arr_A и arr_B, состоящие из разных элементов массива; мы передали эти два массива в качестве параметров внутри метода np.floor_divide(); первый параметр, arr_A действует как делимое, элементы которого необходимо разделить, а arr_B действует как делитель.
Элементы массива arr_A делятся поэлементно элементами массива arr_B.
Результат функции floor_division() сохраняется в переменной с именем out, которая представляет собой пустой массив той же формы, что и входные массивы, и содержит частные значения, полученные после деления.
Когда делитель является скаляром
|
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("Scalar value is: ", scal_val) out = np.floor_divide(arr_A, scal_val) print("Output obtained is: ", out) |
Выход:
|
1 2 3 |
Elements in arr_A are: [ 8 18 28 34] Scalar value is: 6 Output obtained is: [1 3 4 5] |
Объяснение.
В программе мы взяли пустой входной массив с именем arr_A, который выполняет функцию делимого, и скалярное значение, т.е. 6, которое будет действовать как делитель; мы передали arr_A в качестве первого параметра и скалярное значение в качестве второго параметра внутри метода np.floor_divide(), скалярное значение будет передано в массив той же формы, что и arr_A.
Далее деление производится поэлементно, как обычно. Результат деления сохраняется в переменной с именем out, которая представляет собой пустой массив той же формы, что и входной массив, и содержит частные значения, полученные после деления.
