From: Jérôme Benoit Date: Tue, 11 Feb 2025 13:27:06 +0000 (+0100) Subject: refactor(qav3): cleanup predictions sorting code X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=c1215b9121fa28254236bab00ce99881d75f8851;p=freqai-strategies.git refactor(qav3): cleanup predictions sorting code Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index 8390f53..f1eaffa 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -250,13 +250,10 @@ def min_max_pred( def __min_max_pred( pred_df: pd.DataFrame, fit_live_predictions_candles: int, label_period_candles: int ): - pred_df_sorted = pd.DataFrame() - for label in pred_df: - if pred_df[label].dtype == object: - continue - pred_df_sorted[label] = pred_df[label] - pred_df_sorted = pred_df_sorted.apply( - lambda col: col.sort_values(ascending=False, ignore_index=True) + pred_df_sorted = ( + pred_df.select_dtypes(exclude=["object"]) + .copy() + .apply(lambda col: col.sort_values(ascending=False, ignore_index=True)) ) frequency = fit_live_predictions_candles / label_period_candles diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index 4b771cb..e910125 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -253,13 +253,10 @@ def min_max_pred( def __min_max_pred( pred_df: pd.DataFrame, fit_live_predictions_candles: int, label_period_candles: int ): - pred_df_sorted = pd.DataFrame() - for label in pred_df: - if pred_df[label].dtype == object: - continue - pred_df_sorted[label] = pred_df[label] - pred_df_sorted = pred_df_sorted.apply( - lambda col: col.sort_values(ascending=False, ignore_index=True) + pred_df_sorted = ( + pred_df.select_dtypes(exclude=["object"]) + .copy() + .apply(lambda col: col.sort_values(ascending=False, ignore_index=True)) ) frequency = fit_live_predictions_candles / label_period_candles