python滑动窗口处理时序数据

北慕城南 提交于 2020-02-13 10:56:18

使用库sklearn, pandas, numpy

读取数据

读取日期格式的数据,转化为DateFrame,如
2019-01-02 00:00:01.001

import pandas as pd
df = pd.read_csv(file_path,#文件地址
			header=0,#0为手动输入表头
			names=['date', 'value'],#表头名称
			index_col='date', #设置'date'列为索引
			parse_dates=['date'],#对'date'列进行转化为DateFrame
			date_parser=lambda d: pd.datetime.strptime(d, '%Y-%d-%m %H:%M%S.%f')#转化方法
			)

滑动窗口

r = df.rolling(window='1d')#使用1天作为窗口长度,必须是dateframe格式的数据才可以使用offset;否则必须用数据点个数
features = pd.concat([r.min(), r.max(),r.mean(), r.median()], axis=1)
features = features.dropna(axis=0)
features = features.to_numpy()

聚类

import sklearn.cluster as clt
kmeans = clt.KMeans(n_clusters=k).fit(features)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!