时间序列数据预处理效果

原始图和处理过后图片对比
在这里插入图片描述
在这里插入图片描述
纵坐标范围是一致的,可以看出处理之后数据更集中了。
以下是处理步骤及相应代码。

  1. 3σ法则检测异常值,并将异常值用相应的mean±3σ代替。
data=pd.read_csv(os.path.join(filepath,filelist[i]))
num_mean=data['1'].mean()
num_std=data['1'].std()
top_num=num_mean+3*num_std
bot_num=num_mean-3*num_std
#replace_val1=data['1'][data['1']<bot_num].max()#这里也可以用自己最大最小值代替
data.loc[data['1']<bot_num,'1']=bot_num
#replace_val2=data['1'][data['1']>top_num].min()
data.loc[data['1']>top_num,'1']=top_num
data.to_csv(os.path.join(savepath,filelist[i]),index=False)
  1. 将数据重采样,并向下填充。
data=pd.read_csv(os.path.join(savepath,filelist[1]))
data['0']=pd.to_datetime(data['0'])
s=pd.Series(np.array(data['1']),index=data['0'])#感觉好像只有series数据结构才能用resample函数
s1=s.resample('30T').mean()#30T是每隔30分钟采一次
s2=s1.fillna(method='ffill')
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值