PEMS-SF 数据集处理及静态特征添加指南 - Python 示例
处理 PEMS-SF 数据集时,我们可以使用 Python 的 pandas 库来整理数据特征,并且可以使用其他公开数据集或 API 来添加静态特征。
以下是一个处理 PEMS-SF 数据集并添加静态特征的示例:
- 导入必要的库
import pandas as pd
import numpy as np
import datetime
import holidays
- 读取 PEMS-SF 数据集
df = pd.read_csv('pems_sf.csv')
- 添加日期和时间特征
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
- 添加节假日特征
us_holidays = holidays.US()
df['is_holiday'] = df['date'].apply(lambda x: 1 if x in us_holidays else 0)
- 添加天气特征
我们可以使用公开的天气数据集或 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])
- 保存处理后的数据集
df.to_csv('pems_sf_processed.csv', index=False)
通过以上步骤,我们可以成功处理 PEMS-SF 数据集,并且添加静态特征。需要注意的是,添加静态特征时需要保证特征的时间跨度与 PEMS-SF 数据集一致,否则可能会出现错误的预测结果。
原文地址: https://www.cveoy.top/t/topic/myiZ 著作权归作者所有。请勿转载和采集!