当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy logaddexp方法用法及代码示例


Numpy 的 logaddexp(~) 方法计算 log(exp(x1)+exp(x2)) ,其中 x1x2 是输入数组。这个表达式很有用,因为它经常出现在统计数据中。

参数

1. x1 | array-like

第一个输入数组。

2. x1 | array-like

第二个输入数组。

3. out | Numpy array | optional

您可以将计算结果放入 out 指定的数组中,而不是创建新数组。

4. where | booleanarray | optional

标记为 False 的值将被忽略,即它们的原始值将未被初始化。如果指定了 out 参数,行为会略有不同 - 原始值将保持不变。由于这让许多人感到困惑,请查看下面的示例。

返回值

包含 log(p+1) 结果的 Numpy 数组,其中 p 是输入数组中的每个值。

例子

基本用法

np.logaddexp([1,2],[3,4])



array([3.12692801, 4.12692801])

指定输出数组

a = np.zeros(2)
np.logaddexp([1,2], [3,4], out=a)
a



array([3.12692801, 4.12692801])

在这里,我们将结果输出到数组 a 中。

指定布尔掩码

np.logaddexp([1,2,3], [4,5,6], where=[False, True, False])



array([20.00000011,  5.04858735,  6.04858735])

这里,仅使用第二个数字进行计算,因为它在掩码中具有相应的布尔值True。您应该注意到 False 的值如何产生奇怪的结果 - 事实上,您应该忽略它们,因为它们是没有实际用途的未初始化数字。

现在,如果您指定了 out 参数,而不是未初始化的值,则原始值将保持不变:

a = np.zeros(3)
np.logaddexp([1,2,3], [4,5,6], out=a, where=[False, True, False])
a



array([0.        , 5.04858735, 0.        ])

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | logaddexp method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。