处理 PEMS-SF 数据集时,我们可以使用 Python 的 pandas 库来整理数据特征,并且可以使用其他公开数据集或 API 来添加静态特征。

以下是一个处理 PEMS-SF 数据集并添加静态特征的示例:

  1. 导入必要的库
import pandas as pd
import numpy as np
import datetime
import holidays
  1. 读取 PEMS-SF 数据集
df = pd.read_csv('pems_sf.csv')
  1. 添加日期和时间特征
df['date'] = pd.to_datetime(df['timestamp']).dt.date
df['time'] = pd.to_datetime(df['timestamp']).dt.time
df['hour'] = pd.to_datetime(df['timestamp']).dt.hour
df['day_of_week'] = pd.to_datetime(df['timestamp']).dt.dayofweek
  1. 添加节假日特征
us_holidays = holidays.US()
df['is_holiday'] = df['date'].apply(lambda x: 1 if x in us_holidays else 0)
  1. 添加天气特征

我们可以使用公开的天气数据集或 API 来添加天气特征。以下是使用 API 添加天气特征的示例:

import requests

def get_weather_data(date):
    api_key = 'YOUR_API_KEY'
    url = f'https://api.openweathermap.org/data/2.5/weather?q=San%20Francisco&appid={api_key}&units=metric'
    res = requests.get(url)
    data = res.json()
    temp = data['main']['temp']
    weather_desc = data['weather'][0]['description']
    return temp, weather_desc

df['temp'] = df['date'].apply(lambda x: get_weather_data(x)[0])
df['weather_desc'] = df['date'].apply(lambda x: get_weather_data(x)[1])
  1. 保存处理后的数据集
df.to_csv('pems_sf_processed.csv', index=False)

通过以上步骤,我们可以成功处理 PEMS-SF 数据集,并且添加静态特征。需要注意的是,添加静态特征时需要保证特征的时间跨度与 PEMS-SF 数据集一致,否则可能会出现错误的预测结果。

PEMS-SF 数据集处理及静态特征添加指南 - Python 示例

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

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