Python时间序列缺失值的处理方法(日期缺失填充)


Posted in Python onAugust 11, 2019

前言

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

时间序列缺失值处理

一、编程前准备

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

需要安装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("Path/power.csv",index_col='user_id')
  df0['record_date'] = pd.to_datetime(df0['record_date'])
  return df0
 
#把datetime转成字符串
def datetime_toString(dt):
  return dt.strftime("%Y-%m-%d")
 
#把字符串转成datetime
def string_toDatetime(string):
  return datetime.strptime(string, "%Y-%m-%d")
 
#缺失值处理,插值替换
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显示进度条的方法
Sep 20 Python
Python聚类算法之凝聚层次聚类实例分析
Nov 20 Python
numpy.random.seed()的使用实例解析
Feb 03 Python
用Python写脚本,实现完全备份和增量备份的示例
Apr 29 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
pandas.cut具体使用总结
Jun 24 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
详解有关PyCharm安装库失败的问题的解决方法
Feb 02 Python
让Django的BooleanField支持字符串形式的输入方式
May 20 Python
python中的装饰器该如何使用
Jun 18 Python
python数据可视化JupyterLab实用扩展程序Mito
Nov 20 Python
python3实现带多张图片、附件的邮件发送
Aug 10 #Python
python实现邮件自动发送
Aug 10 #Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
Aug 10 #Python
python正则爬取某段子网站前20页段子(request库)过程解析
Aug 10 #Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 #Python
Python中的 sort 和 sorted的用法与区别
Aug 10 #Python
Python测试模块doctest使用解析
Aug 10 #Python
You might like
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
PHP 反射机制实现动态代理的代码
2008/10/22 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
微信小程序实现留言板
2018/10/31 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python解析xml中dom元素的方法
2015/03/12 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
浅析Django中关于session的使用
2019/12/30 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
素质拓展感言
2014/01/29 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
光荣之路观后感
2015/06/12 职场文书
品德与社会教学反思
2016/02/24 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫