Spec-Zone.ru › NumPy 2.0

numpy.power

numpy.power(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])=<ufunc 'power'>

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

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

Возведение целого типа в отрицательную целую степень вызовет ValueError.

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

Параметры:
x1array_like

Основания.

x2array_like

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

outndarray, None, или кортеж ndarray и None, необязательно

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

wherearray_like, необязательно

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

**kwargs

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

Возвращаемое значение:
yndarray

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

См. также

float_power

Функция возведения в степень, которая повышает целые числа до плавающей точки

Примеры

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

>>> 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]])

Оператор ** может использоваться в качестве сокращённой формы для np.power на массивах nd.

>>> 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])

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.power.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API