numpy.pow#

numpy.pow(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура]) = 'power'>#

Элементы первого массива, возведенные в степени из второго массива, поэлементно.

Возведите каждое основание в x1 к позиционно-соответствующей степени в x2. x1 и x2 должны быть транслируемы к одной форме.

Целочисленный тип, возведенный в отрицательную целую степень, вызовет ValueError.

Отрицательные значения, возведённые в нецелую степень, вернут nan. Чтобы получить комплексные результаты, преобразуйте входные данные в комплексные или укажите dtype будет complex (см. пример ниже).

Параметры:
x1array_like

Базисы.

x2array_like

Показатели степени. Если x1.shape != x2.shape, они должны быть транслируемы к общей форме (которая становится формой вывода).

выходndarray, None или кортеж из ndarray и None, опционально

Место для сохранения результата. Если предоставлено, оно должно иметь форму, в которую транслируются входные данные. Если не предоставлено или None, возвращается вновь выделенный массив. Кортеж (возможен только как ключевой аргумент) должен иметь длину, равную количеству выходов.

гдеarray_like, необязательный

Это условие транслируется на вход. В местах, где условие истинно, выход массив будет установлен в результат ufunc. В других местах выход массив сохранит своё исходное значение. Обратите внимание, что если неинициализированный выход массив создается через стандартный out=None, позиции внутри неё, где условие ложно, останутся неинициализированными.

**kwargs

Для других аргументов, доступных только по ключевым словам, смотрите документация ufunc.

Возвращает:
yndarray

Основания в x1 возведённые в степени в x2. Это скаляр, если оба x1 и x2 являются скалярами.

Смотрите также

float_power

функция power, которая преобразует целые числа в числа с плавающей точкой

Примеры

>>> import numpy as np

Возвести каждый элемент массива в куб.

>>> x1 = np.arange(6)
>>> x1
[0, 1, 2, 3, 4, 5]
>>> np.power(x1, 3)
array([  0,   1,   8,  27,  64, 125])

Возвести основания в разные степени.

>>> x2 = [1.0, 2.0, 3.0, 3.0, 2.0, 1.0]
>>> np.power(x1, x2)
array([  0.,   1.,   8.,  27.,  16.,   5.])

Эффект трансляции.

>>> x2 = np.array([[1, 2, 3, 3, 2, 1], [1, 2, 3, 3, 2, 1]])
>>> x2
array([[1, 2, 3, 3, 2, 1],
       [1, 2, 3, 3, 2, 1]])
>>> np.power(x1, x2)
array([[ 0,  1,  8, 27, 16,  5],
       [ 0,  1,  8, 27, 16,  5]])

The ** оператор может использоваться как сокращение для np.power на ndarrays.

>>> x2 = np.array([1, 2, 3, 3, 2, 1])
>>> x1 = np.arange(6)
>>> x1 ** x2
array([ 0,  1,  8, 27, 16,  5])

Отрицательные значения, возведенные в нецелую степень, приведут к nan (и будет сгенерировано предупреждение).

>>> x3 = np.array([-1.0, -4.0])
>>> with np.errstate(invalid='ignore'):
...     p = np.power(x3, 1.5)
...
>>> p
array([nan, nan])

Чтобы получить комплексные результаты, укажите аргумент dtype=complex.

>>> np.power(x3, 1.5, dtype=complex)
array([-1.83697020e-16-1.j, -1.46957616e-15-8.j])