第一范文网 - 专业文章范例文档资料分享平台

Python时间序列缺失值处理(日期缺失填充)完全教程-附Python完整例程

来源:用户分享 时间:2025/5/18 14:19:23 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

前言

因近期进行时间序列分析时遇到了数据预处理中的缺失值处理问题,其中日期缺失和填充在网上没有找到较好较全资料,耗费了我一晚上工作时间,所以下面我对这次时间序列缺失值处理学习做了以下小结以供之后同行们参考指正。

时间序列缺失值处理

一、编程前准备

收集时间序列数据,相信看这篇博客的各位已经完成了这步。

需要安装pandas模块,并利用Python的Lib文件夹自带的datetime库(当时我因为在Pycharm环境中没看到datetime模块又去安装了DateTime模块并看了DateTime英文文档,发现这个对象的参数并不能满足时间序列缺失填充的需求,所以又下了datetime2模块,在import datetime2时发现Python自带datetime库,血虐啊,真是对菜鸟不要太善良)。

二、编程与讲解

因为我的数据不是普遍形式的时间序列形式,而下面程序是我按普遍形式时间序列数据改编的,与我数据不适用,所以可能存在问题,但是程序所用步骤和程序原理都是与原程序相同,对于初步接触的同行具有一定的借鉴和参考意义。 import pandas as pd import datetime def load_Data(): #加载数据

df0 = pd.read_csv(\ df0['record_date'] = pd.to_datetime(df0['record_date']) return df0

#把datetime转成字符串 def datetime_toString(dt):

return dt.strftime(\

#把字符串转成datetime def string_toDatetime(string):

return datetime.strptime(string, \

#缺失值处理,插值替换 def data_Full():

df1 = load_Data() #加载数据

date_start = df1.iloc[0, 0] #初始时间

df1_date = df1['record_date'].tolist() #数据日期转为列表 df1_data = df1[ 'value'].tolist() #数据值转为列表 act = 365 #实际期望日期序列长度 for j in range(0, len(df1_date)): if len(df1_date) < act: date0 = date_start

date_s = datetime_toString(date0) #日期转换为字符串类型,使日期可进行逻辑比较 date_i = df1_date[j] #顺序选取数据中日期列表里对应各日期 date_is = datetime_toString(date_i)

while date_is != date_s: #如数据中日期列表与期望日期序列不相等,即存在缺失值执行while程序

nada = (df1_data[j] + df1_data[j+1]) / 2 #计算缺失处左右相邻插值 adda = [date0, nada]

date_da = pd.DataFrame(adda).T date_da.columns = df1.columns

df1 = pd.concat([df1, date_da]) #将缺失日期加入数据列表中 date0 += datetime.timedelta(days=1) #日期加一

date_s = datetime_toString(date0) #日期字符串转日期时间类型 date0 += datetime.timedelta(days=1) #日期加一

date_s = datetime_toString(date0) #日期字符串转日期时间类型 df1 = df1.sort_values(by=['record_date']) return df1

Python时间序列缺失值处理(日期缺失填充)完全教程-附Python完整例程.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8moel40q366bod04q39t7z7sh75m1a00ohf_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top