处理 PEMS-SF 数据集时,可以使用 Python 中的 Pandas 库进行数据清洗和特征工程,具体步骤如下:

  1. 读取 PEMS-SF 数据集的 csv 文件,可以使用 Pandas 库的 read_csv 函数,将数据集读取为一个 Pandas 的 DataFrame 对象。
import pandas as pd

# 读取 PEMS-SF 数据集的 csv 文件
df = pd.read_csv('PEMS-SF/PEMS_SF.csv')
  1. 数据清洗,包括去除缺失值、异常值等。
# 去除缺失值
df.dropna(inplace=True)

# 去除异常值
df = df[(df >= 0).all(axis=1)]
  1. 特征工程,包括添加时间特征、滑动窗口特征、周期性特征等。

添加时间特征,可以使用 Pandas 库的 to_datetime 函数将时间戳转换为时间格式,并提取年、月、日、小时、分钟、周几等时间信息。

# 将时间戳转换为时间格式
df['datetime'] = pd.to_datetime(df['TIMESTAMP'])

# 提取年、月、日、小时、分钟、周几等时间信息
df['year'] = df['datetime'].dt.year
df['month'] = df['datetime'].dt.month
df['day'] = df['datetime'].dt.day
df['hour'] = df['datetime'].dt.hour
df['minute'] = df['datetime'].dt.minute
df['weekday'] = df['datetime'].dt.weekday

滑动窗口特征,可以使用 Pandas 库的 rolling 函数实现,例如计算过去 6 小时内的平均车速。

# 计算过去 6 小时内的平均车速
df['rolling_mean'] = df['SPEED'].rolling(window=6*12).mean()

周期性特征,例如节假日、天气等静态特征,可以使用 Pandas 库的 merge 函数将静态特征的 csv 文件合并到主数据集中,然后进行特征工程。

# 读取节假日静态特征的 csv 文件
holidays = pd.read_csv('PEMS-SF/holidays.csv')

# 将节假日静态特征合并到主数据集中
df = pd.merge(df, holidays, on='datetime', how='left')

# 对于缺失的节假日数据,填充为非节假日
df['holiday'].fillna(0, inplace=True)

同样的方法也可以应用于添加其他静态特征,例如天气、交通流量等。

最终得到的 DataFrame 对象包含了原始数据集的车速信息以及添加的时间特征、滑动窗口特征、周期性特征等,可以用于训练预测模型。

PEMS-SF 数据集处理:用 Python 添加时间、滑动窗口和静态特征

原文地址: https://www.cveoy.top/t/topic/myiy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录