常州机器视觉培训

常州上位机软件开发

常州工业机器人编程设计培训

常州PLC培训

常州PLC

常州PLC编程培训

常州电工培训

常州和讯plc培训中心欢迎您!
热门课程
联系方式
  • 常州和讯自动化培训中心
  • 常州市新北区府琛商务广场2号楼1409室
  • 电话:0519-85602926
  • 手机:15861139266 13401342299
当前位置:网站首页 > 新闻中心 新闻中心
时间序列的“时间”有多大价值-常州机器视觉培训,常州上位机培训
日期:2024-7-1 15:23:45人气:  标签:常州机器视觉培训 常州上位机培训

时间序列数据的主要特征是它们的时间索引,这为数据提供了明确的顺序。这种顺序使得我们可以分析随时间的变化趋势、周期性和季节性模式,以及突发事件的影响。为了充分利用时间序列数据,我们通常需要从时间索引中提取多种特征:


时间单位:如年、季度、月、周、日、小时等。

日期属性:如是否为月末、季末、年末等。

星期和时间段:如星期几、是否为工作日、时间段(早上、下午、傍晚、深夜)等。

节假日:如公共节假日、特殊事件等。

移动窗口统计:如过去几小时、几天、几个月的平均值、中位数、方差等。

import pandas as pd

import numpy as np


# 设置时间范围和频率

start_date = '2024-01-01'

end_date = '2024-01-04'

freq = 'H'  # 每小时


# 生成时间索引

index = pd.date_range(start=start_date, end=end_date, freq=freq)


# 生成随机销售数据

np.random.seed(0)  # 确保结果可重复

sales_data = np.random.randint(1, 300, size=len(index))  # 销售量范围从1到300

# 创建数据框

df = pd.DataFrame({'Sales_Vol': sales_data}, index=index)

df.head()  # 显示前几行数据


# 从日期中提取特征

df['Year'] = df.index.year

df['Quarter'] = df.index.quarter

df['Month'] = df.index.month

df['Day of Week'] = df.index.day_name()

df['Is Working Day'] = df.index.weekday < 5  # 假设周一到周五为工作日

df['Time of Day'] = pd.cut(df.index.hour, bins=[0, 6, 12, 18, 24], labels=['Late Night', 'Morning', 'Afternoon', 'Evening'])


df.head()  # 显示前几行数据

运行上述代码,时间为"00:00:00"时,"Time of  Day"可能会出现空值NAN的情况。那这个时间点我们就特殊标记一下,将他划分到“Late Night”.

df['Time of Day'] = pd.cut(df.index.hour, bins=[0, 6, 12, 18, 24], right=False, labels=['Late Night', 'Morning', 'Afternoon', 'Evening'])

再格外补充一下,如何从时间中提取出公共节假日?

需要提前安装一下holidays库,pip install holidays

from holidays import China

# 使用China类来识别中国的法定节假日

cn_holidays = China()

# 标记时间序列中的节假日

df['Is Holiday'] = df.index.map(lambda x: x in cn_holidays)

print(df)

注意:部分节假日可能会出现调休的情况,holidays库可能不会自动处理这些调休工作日,因此如果需要这些信息,您可能需要手动添加或使用其他方法来获取。


# 计算5小时滚动窗口的平均销售量

df['5-Hour Rolling Average Sales Volume'] = df['Sales_Vol'].rolling(window=5).mean()


由于滚动窗口的计算需要足够的数据点,所以数据框的前几行显示为NaN,直到有足够的数据点来计算平均值。


本文网址:
下一篇:没有资料

相关信息:
版权所有 CopyRight 2006-2017 江苏和讯自动化设备有限公司 常州自动化培训中心 电话:0519-85602926 地址:常州市新北区府琛商务广场2号楼1409室
苏ICP备14016686号-2 技术支持:常州山水网络
本站关键词:常州PLC培训 常州PLC编程培训 常州PLC编程 常州PLC培训班 网站地图 网站标签
在线与我们取得联系