From c1215b9121fa28254236bab00ce99881d75f8851 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Tue, 11 Feb 2025 14:27:06 +0100 Subject: [PATCH] refactor(qav3): cleanup predictions sorting code MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../freqaimodels/LightGBMRegressorQuickAdapterV35.py | 11 ++++------- .../freqaimodels/XGBoostRegressorQuickAdapterV35.py | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) 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 -- 2.43.0