Функция np.power() в Python используется для получения одного массива, содержащего элементы первого массива, возведенного в степень элемента второго массива.
Она принимает два основных аргумента: 1) array_of_base и 2) arr_of_exp и возвращает массив с элементами первого массива, возведенными в степень элемента второго массива.
Это означает, что если у нас есть два массива(одного размера), arr1 и arr2, numpy.power() будет вычислять arr1i^arr2i для каждого i=0 до size_of_arrary-1. Если значения arr2 не положительны, эта функция вернет ValueError.
Синтаксис
|
1 2 3 |
numpy.power(arr_of_base, arr_of_exp, out = None, where = True, casting = ‘same_kind’, order = ‘K’, dtype = None) |
Параметры numpy.power() в Python
- arr_of_base: это первый массив, элементы которого работают как база. Как подразумевается, аргумент для этого параметра arr_of_base должен быть массивом чисел. Эти целые числа будут использоваться в качестве «основ» наших показателей.
- arr_of_exp: это второй массив, элементы которого работают как экспонента. Этот параметр позволяет вам указать показатели степени, которые вы будете применять к базам,
array-of-bases. Обратите внимание, что так же, как вводarray-of-exponents, этот ввод должен быть массивом Numpy или объектом, подобным массиву. Итак, здесь вы можете предоставить массив, список, кортеж или другой объект со свойствами, подобными массиву. Вы даже можете указать одно целое число. - out: это ndarray и необязательное поле. Место, в котором будет сохранен результат. Если указано, формой должны быть широковещательные входные данные. Когда возвращается только что выделенный массив, если он не получен или None, кортеж (возможен только как аргумент ключевого слова) должен иметь длину, равную выходным данным.
- where: передается через данные. Массив out будет установлен на результат ufunc в местах, где условие имеет значение True. Обратите внимание, что если значение по умолчанию out = None создает неинициализированный список out, позиции в нем, где условие False останется неинициализированным.
Возвращаемое значение
Функция np.power() в Питон возвращает массив с элементами первого массива, возведенными в степень элемента второго массива. Результат будет в целочисленной форме.
Пример 1
|
1 2 3 4 5 6 7 8 9 10 |
#Importing numpy import numpy as np #Declaring arr1 and arr2 arr1 = [4, 2, 1, 6, 5] arr2 = [4, 0, 5, 2, 3] #Now we will check working of power() print("Elements of arr1 raised to the power elements of arr2 are: ") print(np.power(arr1, arr2)) |
Выход
|
1 2 |
Elements of arr1 raised to the power elements of arr2 are: [256 1 1 36 125] |
В этой программе мы сначала объявили два массива одинаковой формы, и, как видите, все они являются целыми числами. Затем мы вызвали numpy.power() для вычисления arr1^iarr2i. По формуле мы получили желаемый результат.
Пример 2
Должны ли мы использовать отрицательную экспоненту с мощностью NumPy? Нет, np.power() не работает с отрицательными показателями. Если вы попытаетесь использовать отрицательную степень, функция выдаст ValueError: целые числа в отрицательных целочисленных степенях не допускаются.
|
1 2 3 4 5 6 7 8 9 10 |
# Importing numpy import numpy as np # Declaring arr1 and arr2 arr1 = [4, 2, 1, 6, 5] arr2 = [4, 0, -5, 2, -3] # Now we will check working of power() print("Elements of arr1 raised to the power elements of arr2 are: ") print(np.power(arr1, arr2)) |
Выход
|
1 |
ValueError: Integers to negative integer powers are not allowed. |
В этой программе мы сначала объявили два массива одинаковой формы, и, как видите, они являются целыми числами. Затем мы вызвали numpy.power() для вычисления arr1i^arr2i. Но как сказано выше, эта функция возвращает ValueError, когда элементы второго массива отрицательные, и мы получили ValueError.
Пример 3
Чтобы найти мощность Matrix в numpy, мы должны использовать функцию numpy.linalg.matrix_power(a, n). Для положительных чисел n мощность вычисляется путем многократного возведения матрицы в квадрат и умножения матриц.
Если n == 0, возвращается единичная матрица той же формы, что и M.
Если n < 0, вычисляется обратное значение и возводится в abs(n).
|
1 2 3 4 5 |
import numpy as np data = np.array([[0, 1], [-1, 0]]) op = np.linalg.matrix_power(data, 3) print(op) |
Выход
|
1 2 |
[[0 -1] [1 0]] |
Пример 4
|
1 2 3 4 5 |
import numpy as np data = np.array([[0, 1], [-1, 0]]) op = np.linalg.matrix_power(data, 0) print(op) |
Выход
|
1 2 |
[[1 0] [0 1]] |
