python快速数据分类(Python基于滑动平均思想实现缺失数据填充的方法)
类别:脚本大全 浏览量:1036
时间:2022-01-23 02:28:17 python快速数据分类
Python基于滑动平均思想实现缺失数据填充的方法在时序数据处理过程中,我们经常会遇到由于现实中的种种原因导致获取的数据缺失的情况,这里的数据缺失不单单是指为‘NaN'的数据,比如在AQI数据中,0是不可能出现的,这时候如果数据中出现了0也就是数据缺失了,最近正好在拿一个污染物的数据在做模型分析,中间就遇到了数据缺失值的问题,数据量本身不大,如果直接对缺失值进行丢弃处理的话会进一步减小数据量,所以这里考虑采用数据填充的方法来实现缺失数据的填充。我做了两个版本其中,第一个版本很简单可以不看,主要是简单实现以下效果。具体实现如下:
|
#!usr/bin/env python #encoding:utf-8 from __future__ import liision ''' __Author__:沂水寒城 功能: python 基于滑动平均思想实现简易的缺失数据填充 ''' def zeroDataFill(one_all_list): ''' 对于0数据处理,简单实现版本,可忽略 ''' res_list = [] for i in range ( len (one_all_list)): if one_all_list[i]! = 0 : res_list.append(one_all_list[i]) else : if i = = 0 : for j in range ( 1 , len (one_all_list)): if one_all_list[j]! = 0 : res_list.append(one_all_list[j]) break elif i = = len (one_all_list) - 1 : res_list.append( int ( sum (res_list[ - 3 : - 1 ]) / 2 )) else : tmp = 0 for j in range (i, len (one_all_list)): if one_all_list[j]! = 0 : tmp = one_all_list[j] break now = (res_list[i - 1 ] + tmp) / 2 res_list.append( int (now)) print res_list return res_list def dataProcessing(one_all_list,num = 7 ): ''' 对于时间序列数据中的 0 进行处理,采用滑动平均的方法来填充(默认时间为一周) ''' nozero_list = [one for one in one_all_list if one! = 0 ] before_avg,last_avg = sum (nozero_list[:num]) / num, sum (nozero_list[ - 1 * num:]) / num res_list = [] for i in range ( len (one_all_list)): if one_all_list[i]! = 0 : res_list.append(one_all_list[i]) else : tmp = int (num / 2 ) + 1 if i< = tmp: res_list.append( int (before_avg)) elif i> = len (one_all_list) - tmp: res_list.append( int (last_avg)) slice_list = one_all_list[i - tmp:i + tmp + 1 ] res_list.append( int ( sum (slice_list) / (num - 1 ))) print res_list return res_list if __name__ = = '__main__' : one_all_list = [ 0 , 12 , 3 , 5 , 1 , 5 , 7 , 8 , 4 , 0 , 12 , 14 , 0 , 0 , 45 , 34 , 67 , 43 , 0 , 9 , 1 , 0 ] zeroDataFill(one_all_list) dataProcessing(one_all_list,num = 7 ) |
结果如下:
[12, 12, 3, 5, 1, 5, 7, 8, 4, 8, 12, 14, 29, 37, 45, 34, 67, 43, 26, 9, 1, 17]
[5, 12, 3, 5, 1, 5, 7, 8, 4, 12, 14, 45, 34, 67, 43, 30, 33, 9, 1, 30, 8]
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/Together_CZ/article/details/85000866
您可能感兴趣
- python实例之pyqt5多窗口实现(python+pyqt5编写md5生成器)
- python的opencv图片识别(OpenCV-Python 摄像头实时检测人脸代码实例)
- python验证码处理教程(python简单验证码识别的实现方法)
- python自己做个定时器(对python周期性定时器的示例详解)
- 怎么在当前目录调用python库(Python父目录、子目录的相互调用方法)
- pythonqt入门教程(使用python实现mqtt的发布和订阅)
- python协程使用教程(对Python协程之异步同步的区别详解)
- python 微信二维码接口(python实现微信防撤回神器)
- python的静态方法和类方法(深入解析python中的实例方法、类方法和静态方法)
- python的def命令参数(python ddt数据驱动最简实例代码)
- python中如何清空列表数据(Python批量删除只保留最近几天table的代码实例)
- python的os模块操作(Python OS模块实例详解)
- python代码添加微信号(python 获取微信好友列表的方法微信web)
- python3 代码解读(Python3列表内置方法大全及示例代码小结)
- python中内存管理机制(Python中整数的缓存机制讲解)
- python直接查询mongodb(pymongo中聚合查询的使用方法)
- 天热没胃口 这道菜开胃又下饭,2个小技巧新手一学就会(这道菜开胃又下饭)
- 指天椒紫苏爆炒牛肉(指天椒紫苏爆炒牛肉)
- 谷雨前,吃牛羊肉别忘了吃河鲜,除湿还清热,加紫苏一炒特解馋(吃牛羊肉别忘了吃河鲜)
- 紫苏牛肉锅里滚一滚,香的鼻子都要掉了(紫苏牛肉锅里滚一滚)
- 每天都吃水果的好处(每天吃水果的好处与功效)
- 苹果15价格(苹果15价格512g官网)
热门推荐
- 织梦的powerbydedecms怎么改(织梦DEDECMS提示信息提示框美化)
- js数字时钟编程(JavaScript实现动态数字时钟)
- 阿里云服务器远程连不上(阿里云服务器重置后无法远程登录解决方案)
- linux如何让系统监控一个服务(linux服务监控及运维)
- Asp.net导出Excel乱码
- 闭包python讲解(详解Python循环作用域与闭包)
- css不显示滚动条设置(css隐藏移动端滚动条并且ios上平滑滚动的方法)
- 创建数据表的sql语句代码(用注解编写创建表的SQL语句)
- sqlserver中复合索引(浅析SQL Server 聚焦索引对非聚集索引的影响)
- django变量怎么使用(django的settings中设置中文支持的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9