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