python中的条件计算

时间:2014-09-04 08:33:11

标签: python numpy conditional

我试图从这里使用我自己的logsumexp()修改版本: https://github.com/scipy/scipy/blob/v0.14.0/scipy/misc/common.py#L18

在第85行,是这个计算:

out = log(sum(exp(a - a_max), axis=0))

但我有一个门槛,我不希望a - a_max超过该门槛。 有没有办法进行条件计算,只有在差值不小于阈值时才允许减法。 如下所示:

out = log(sum(exp( (a - a_max < threshold) ? threshold : a - a_max), axis = 0))

2 个答案:

答案 0 :(得分:1)

怎么样

out = log(sum(exp( threshold if a - a_max < threshold else a - a_max), axis = 0))

答案 1 :(得分:1)

Python中有一个条件内联语句:

Value1 if Condition else Value2

您的公式转换为:

out = log(sum(exp(threshold if a - a_max < threshold else a - a_max), axis = 0))