使用 Pandas resample填补时间序列数据中的空白

阅读: 评论:0

使用 Pandas resample填补时间序列数据中的空白

使用 Pandas resample填补时间序列数据中的空白

在现实世界中时间序列数据并不总是完全干净的。有些时间点可能会因缺失值产生数据的空白间隙。机器学习模型是不可能处理这些缺失数据的,所以在我们要在数据分析和清理过程中进行缺失值的填充。本文介绍了如何使用pandas的重采样函数来识别和填补这些空白。

原始数据

出于演示的目的,我模拟了一些每天的时间序列数据(总共10天的范围),并且设置了一些空白间隙。初始数据如下:

重采样函数

在pandas中一个强大的时间序列函数是resample函数。这允许我们指定重新采样时间序列的规则。

如果我们在同一粒上调用重采样的话对于识别和填补时间序列数据的空白是非常有用的。例如,我们正在使用的原始数据集并不是每天都有数值。利用下面的重样函数将这些间隙识别为NA值。

可视化的图像如下

正如你在上面看到的,resample方法为不存在的天数插入NA值。这将扩展df并从保证我们的时间序列是完整的。下一步我们就要使用各种方法用实际数字填充这些NA值。

向前填补重采样

一种填充缺失值的方法是向前填充(Forward Fill)。这种方法使用前面的值来填充缺失的值。例如,我们的数据中缺少第2到第4个变量,将用第1个变量(1.0)的值来填充。

ffill就是 Forward Fill的简写,下面可视化看看效果

向后填补重采样

类似的方法是反向填充。在上述操作之后,你可能会猜到它的作用——使用后面的值来填充缺失的数据点。从我们的时间序列的第一天到第2到第4天,你会看到它现在的值是2.0(从10月5日开始)。

可视化如下

插值重采样

本文最后一种方法是插值法。下面的图表显示了插值,数据是从一个点到下一个点的拟合。

在下面的可视化看到缺失值连接的线条比较平滑。

总结

有许多方法可以识别和填补时间序列数据中的空白。使用重采样函数是一种用来识别和填充缺失的数据点简单且有效的方法。这可以用于在构建机器学习模型之前准备和清理数据。

作者:Barrett Studdard

本文发布于:2024-01-28 18:25:31,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064375379370.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:序列   空白   时间   数据   Pandas
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23