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