我知道np.exp2(x)存在计算2^xwherex是一个 numpy 数组,但是,我正在寻找一种方法,该方法可以计算K^xwhereK是任意数字。有没有什么优雅的方法可以做到而不是延伸K到x分段指数的形状?
2 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
只需使用标准的 Python 求幂运算符**:
K**x
例如,如果您有:
x = np.array([1,2,3])
K = 3
print(K**x)
输出是:
[ 3 9 27]
笔记
对于Python类,二进制的行为**运营商通过实施__pow__,__rpow__以及 __ipow__魔术方法(对于现实np.ndarray要稍微复杂一些,因为它在C Layer的实现,但实际上并不是重要的在这里)。对于 Numpy 数组,这些魔术方法似乎依次调用numpy.power,因此您可以预期这**将具有与numpy.power. 特别是,
请注意,整数类型的负整数幂将引发 ValueError。
翻阅古今
TA贡献1780条经验 获得超5个赞
使用 numpy 你可以使用 numpy.power
arr = numpy.array([1,2,3])
print(numpy.power(3,arr)) # Outputs [ 3 9 27]
添加回答
举报
0/150
提交
取消