我怎样才能平滑mathplotlib线

时间:2018-04-04 13:26:44

标签: python pandas

我有很多像[' 2017-03-01':20,' 2017-03-02':1,' 2017-03-03' :50]等......

我的代码:

npm install angularfire2  firebase@4.6.2 --save

我的情节非常难看 result

我怎样才能顺利?

UPD我想要一个趋势而不是破碎的数据。

1 个答案:

答案 0 :(得分:1)

正如Dov所说,问题远非唯一确定,它取决于许多参数,例如你想要平滑它的“多少”(离原始数据越远越平滑),“你想要如何平滑”它(仅查看过去,或未来;如果你想使用恒定权重,高斯权重,指数等),等等。

由于你有时间序列,我假设你只想看过去,以避免预测未来(数据泄漏)。

最简单的解决方案是rolling mean,David L已经说过了:

p = p.rolling(5).mean()

这可以让你每天平均前5天,这显然更平滑(如果使用更大的数字,你会得到更平滑的线条)。

这样做的缺点是,5天前的数据与“新鲜”数据的重量相同,而从6天开始,重量突然变为0. exponential moving average获得了更好的结果:

p = p.ewm(com=5).mean()

这给出了与上面类似的结果,但权重以指数方式递减,以便给前一天几乎完全的权重,稍微减去之前的那个,然后仍然少一些,等等。(5这里是“质心”,出于实际目的,你应该大致使用与第一行相同的参数来得到类似的结果)

相关问题