Просто используйте стандартный оператор возведения в степень Python **
:
K**x
Например, если у вас есть:
x = np.array([1,2,3])
K = 3
print(K**x)
Вывод:
[ 3 9 27]
Примечания
Для классов Python поведение бинарного оператора **
реализовано с помощью магических методов __pow__
, __rpow__
и __ipow__
(реальность для np.ndarray
немного большесложный, так как он реализован на уровне C, но это на самом деле здесь не важно).Для массивов Numpy эти магические методы, в свою очередь, вызывают numpy.power
, поэтому можно ожидать, что **
будет вести себя так же, как описано для numpy.power
.В частности,
Обратите внимание, что целочисленный тип, возведенный в отрицательную целочисленную степень, вызовет ValueError.