全国服务热线:

15861139266

时间序列的“时间”有多大价值_苏州PLC培训_苏州机器视觉培训
发布时间:2024-06-28 11:08:12 点击次数:3790

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


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

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

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

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

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

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,直到有足够的数据点来计算平均值。


立即咨询
  • 品质服务

    服务贴心周到

  • 快速响应

    全天24小时随时沟通

  • 专业服务

    授权率高,保密性强

  • 完善售后服务

    快速响应需求,及时性服务

直播课程
软件开发基础课程
上位机软件开发课
机器视觉软件开发课
专题课
联系方式
电话:15861139266
邮箱:75607802@qq.com
地址:苏州吴中区木渎镇尧峰路69号
关注我们

版权所有:大林机器视觉培训苏州办事处所有 备案号:苏ICP备14016686号-6

技术支持: 新易维软件