如何解决如何填充特定年份的时间序列中的缺失值?
我就像数据科学的新手一样,正在尝试解决 Kaggle 竞赛。我必须对时间序列进行分析。特别是有几年的降雨量值,但整年没有任何值,在我的情况下是 2009 年。 所以我的数据集是
虽然 2009 年的降雨量为:
为了填补整个缺失的年份,我想使用前几年和明年(2008 年和 2010 年)的值。我知道 pandas 库中有 pd.fillna()
和 pd.interpolate(method=time)
函数,但它们将用全年的平均值和插值来填充缺失值。如果我这样做,我将改变整个降雨分布,因为降雨量测量特定日期的降雨量。
我的想法是使用 2008 年到 2010 年同一天的平均值。例如:
rainfall['2009-01-01'] = (rainfall['2008-01-01'] + rainfall['2010-01-01']) / 2
这应该意味着 2009 年的降雨量与 2008 年和 2010 年的降雨量相同。 我不知道我的考虑是否正确,因为这些事件每年都非常不同。 如果我使用插值方法,我得到:
rainfall['2009']= rainfall['2008':'2010'].interpolate(method='time')
结果是:
您可以看到 7 月的降雨量超过 30,这意味着一个非常奇怪的月份,因为这些数据是在意大利测量的,现在是夏季,通常情况下的降雨量在 0.0 到 1.0 之间。 请注意,降雨量是一天中的降雨量,因此通常其一年中的行为如下:
如您所见,夏季只有一些高峰,可能是夏季倾盆大雨。
因此,您建议如何使用上一年或下一年的数据填充整个 2009 年?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。