|
@@ -400,11 +400,18 @@ def merge_and_prepare_df(train, test, future, y_te_pred, y_fu_pred):
|
|
|
true_dir = np.sign(monthly_df['实际值'].diff())
|
|
|
valid = monthly_df[TARGET_COL].notna() & monthly_df['实际值'].notna()
|
|
|
monthly_df['方向准确率'] = np.where(valid & (pred_dir == true_dir), '正确',
|
|
|
- np.where(valid & (pred_dir != true_dir), '错误', np.nan))
|
|
|
- # 绝对偏差
|
|
|
- monthly_df['绝对偏差'] = (monthly_df[TARGET_COL] - monthly_df['实际值']).abs()
|
|
|
+ np.where(valid & (pred_dir != true_dir), '错误', ''))
|
|
|
+
|
|
|
+ monthly_df['绝对偏差'] = np.where(
|
|
|
+ monthly_df[TARGET_COL].notna() & monthly_df['实际值'].notna(),
|
|
|
+ (monthly_df[TARGET_COL] - monthly_df['实际值']).abs(),
|
|
|
+ np.nan)
|
|
|
|
|
|
monthly_df = monthly_df.sort_values('Date', ascending=False).reset_index(drop=True)
|
|
|
+
|
|
|
+ monthly_df['Date'] = monthly_df['Date'].dt.strftime('%Y-%m-%d')
|
|
|
+ daily_df['Date'] = daily_df['Date'].dt.strftime('%Y-%m-%d')
|
|
|
+
|
|
|
return daily_df, monthly_df
|
|
|
|
|
|
|