在时序数据处理过程中,我们经常会遇到由于现实中的种种原因导致获取的数据缺失的情况,这里的数据缺失不单单是指为‘NaN'的数据,比如在AQI数据中,0是不可能出现的,这时候如果数据中出现了0也就是数据缺失了,最近正好在拿一个污染物的数据在做模型分析,中间就遇到了数据缺失值的问题,数据量本身不大,如果直接对缺失值进行丢弃处理的话会进一步减小数据量,所以这里考虑采用数据填充的方法来实现缺失数据的填充。我做了两个版本其中,第一个版本很简单可以不看,主要是简单实现以下效果。具体实现如下:
#!usr/bin/env python #encoding:utf-8 from __future__ import division ''' __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]
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 大自然音乐系列《听见向日葵的微笑》[WAV/CUE/分轨][538.5MB]
- 魔兽世界地心之战戒律牧用什么饰品 地心之战戒律牧饰品推荐
- 魔兽世界地心之战戒律牧用什么合剂食物 地心之战戒律牧合剂食物推荐
- 仙境传说新启航职业排行榜大全 仙境传说最强职业是哪个
- 群星《网络新歌曲速报》3CD[DTS-WAV分轨]
- 群星《男人必听》一张男人开车时必听的绝世好歌[WAV]
- 群星《再见新歌》2CD【DTS-WAV分轨】
- 黎瑞恩.1992-雨季不再来【宝丽金】【WAV+CUE】
- 曹雅雯.2018-小说【美乐蒂】【FLAC分轨】
- 温拿乐队.2007-温拿33好时光演唱会2CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 魔兽世界地心之战戒律牧用什么附魔宝石 地心之战戒律牧附魔宝石推荐
- 仙境传说新启航公测兑换码汇总 仙境传说最新兑换码礼包大全
- 魔兽世界地心之战神牧用什么饰品 地心之战神牧饰品推荐
- 群星《聆听·极致女声》2CD[DTS-WAV]
- 群星《五大最美女中音》2CD[DTS-WAV]