From 9560ba2144e3e29127f8d6c1155f34668ba95d50 Mon Sep 17 00:00:00 2001 From: Briarion Date: Wed, 18 Mar 2026 08:05:22 +0300 Subject: [PATCH] fix: move do_predict and DI_values into dict before DataFrame construction Address review feedback: do_predict and DI_values were still assigned after DataFrame creation, partially defeating the fragmentation fix. Now all columns are collected in the dict before the single DataFrame() call, ensuring zero post-construction column assignments. Co-Authored-By: Claude Opus 4.6 (1M context) --- freqtrade/freqai/data_kitchen.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/freqtrade/freqai/data_kitchen.py b/freqtrade/freqai/data_kitchen.py index 327acce27..30826b174 100644 --- a/freqtrade/freqai/data_kitchen.py +++ b/freqtrade/freqai/data_kitchen.py @@ -445,11 +445,11 @@ class FreqaiDataKitchen: for extra_col in self.data["extra_returns_per_train"]: append_dict[f"{extra_col}"] = self.data["extra_returns_per_train"][extra_col] - append_df = DataFrame(append_dict) - - append_df["do_predict"] = do_predict + append_dict["do_predict"] = do_predict if self.freqai_config["feature_parameters"].get("DI_threshold", 0) > 0: - append_df["DI_values"] = self.DI_values + append_dict["DI_values"] = self.DI_values + + append_df = DataFrame(append_dict) user_cols = [col for col in dataframe_backtest.columns if col.startswith("%%")] cols = ["date"]