使用Pandas转换数据集:将多特征表转为时序目标变量表
解决方案:用Pandas转换为时序表格
核心步骤说明
要完成格式转换,只需两步:生成指定范围的小时级时间序列,再将原表的Feature 1列与时间序列绑定成新数据框。
代码实现
- 导入Pandas并生成时间序列
import pandas as pd # 生成2000-01-01 00:00:00至2017-12-31 23:00:00的小时级时间序列 time_series = pd.date_range( start='2000-01-01 00:00:00', end='2017-12-31 23:00:00', freq='H' # H代表小时频率 )
- 创建目标时序表格
假设原数据存储在名为original_df的DataFrame中,执行以下代码:
# 初始化新DataFrame target_df = pd.DataFrame({ 'Date/Time': time_series, 'Target Variable': original_df['Feature 1'].values }) # 处理长度不匹配的情况 # 若原数据行数少于时间序列,用NaN填充空缺 if len(original_df) < len(time_series): target_df.loc[len(original_df):, 'Target Variable'] = pd.NA # 若原数据行数多于时间序列,截断多余行 elif len(original_df) > len(time_series): target_df = target_df.iloc[:len(time_series)]
可选调整
如果需要对空缺值进行填充而非保留pd.NA,可以使用Pandas的填充方法:
# 前向填充(用前一个有效值填充) target_df['Target Variable'] = target_df['Target Variable'].ffill() # 或后向填充(用后一个有效值填充) target_df['Target Variable'] = target_df['Target Variable'].bfill()
内容的提问来源于stack exchange,提问作者Don
相关产品推荐
相关产品推荐

