为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_遁去的一_1 2021-08-24 19:07:11
我知道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。


查看完整回答
反对 回复 2021-08-24
?
翻阅古今

TA贡献1780条经验 获得超5个赞

使用 numpy 你可以使用 numpy.power


arr = numpy.array([1,2,3])

print(numpy.power(3,arr)) # Outputs [ 3  9 27]


查看完整回答
反对 回复 2021-08-24
  • 2 回答
  • 0 关注
  • 304 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信