通过 numpy 数组对任意数字进行指数化

我知道np.exp2(x)存在计算2^xwherex是一个 numpy 数组,但是,我正在寻找一种方法,该方法可以计算K^xwhereK是任意数字。有没有什么优雅的方法可以做到而不是延伸Kx分段指数的形状?


qq_遁去的一_1
浏览 305回答 2
2回答

梦里花落0921

只需使用标准的 Python 求幂运算符**:K**x例如,如果您有:x = np.array([1,2,3])K = 3print(K**x)输出是:[ 3  9 27]笔记对于Python类,二进制的行为**运营商通过实施__pow__,__rpow__以及 __ipow__魔术方法(对于现实np.ndarray要稍微复杂一些,因为它在C Layer的实现,但实际上并不是重要的在这里)。对于 Numpy 数组,这些魔术方法似乎依次调用numpy.power,因此您可以预期这**将具有与numpy.power. 特别是,请注意,整数类型的负整数幂将引发 ValueError。

翻阅古今

使用 numpy 你可以使用 numpy.powerarr = numpy.array([1,2,3])print(numpy.power(3,arr)) # Outputs [ 3  9 27]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python