【发布时间】:2013-12-29 14:58:17
【问题描述】:
查看https://github.com/pydata/pandas/blob/master/pandas/algos.pyx中的ewma方法,有一个奇怪的代码:
for i from 1 <= i < N:
cur = input[i]
prev = output[i - 1]
if **cur == cur:**
if **prev == prev**:
output[i] = oldw * prev + neww * cur
else:
output[i] = neww * cur
else:
output[i] = prev
为什么要比较 cur==cur 和 prev==prev?
我正在尝试在 Java 中实现此方法,但得到不同的结果(例如,Python 中的 7.01644573 和 Java 中的 7.013072549019608),所以也许这个神奇的“==”运算符有什么作用?..
【问题讨论】:
-
也许this 是原因