From 7d46aef9c6df40df05c65564c7bf946746395231 Mon Sep 17 00:00:00 2001 From: xyf5432 Date: Mon, 24 Aug 2026 18:38:26 +0800 Subject: [PATCH] Fix pandas 3.0 deprecation of pd.concat copy keyword In pandas 3.0, copy-on-write is enabled by default and the copy keyword of pd.concat is deprecated. Only pass copy=False when running on pandas < 3.0 to preserve the original behavior and avoid the Pandas4Warning. --- src/ceasiompy/smtrain/smtrain.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ceasiompy/smtrain/smtrain.py b/src/ceasiompy/smtrain/smtrain.py index c8f1d6b1b..5760dbfba 100644 --- a/src/ceasiompy/smtrain/smtrain.py +++ b/src/ceasiompy/smtrain/smtrain.py @@ -16,6 +16,9 @@ # Imports import pandas as pd +from packaging.version import Version + +PANDAS_VERSION = Version(pd.__version__) from ceasiompy.utils.progress import progress_update from ceasiompy.utils.ceasiompyutils import call_main from ceasiompy.smtrain.func.utils import ( @@ -328,7 +331,11 @@ def _geometry_exploration( # Save Best Geometry from training in adequate Results Directory training_results_df = ( - pd.concat([level1_df, level2_df], ignore_index=True, copy=False) + ( + pd.concat([level1_df, level2_df], ignore_index=True, copy=False) + if PANDAS_VERSION < Version("3.0") + else pd.concat([level1_df, level2_df], ignore_index=True) + ) if "level2_df" in locals() and level2_df is not None else level1_df )