diff --git a/app/prediction.py b/app/prediction.py index bda2fe4..2215b07 100644 --- a/app/prediction.py +++ b/app/prediction.py @@ -56,6 +56,7 @@ FEATURES = [ ID_COLUMN = "管道编号" PIPE_AGE_COLUMN = "管龄(年)" +REMAINING_LIFE_COLUMN = "预计剩余寿命(年)(管道健康状态 ≥0.5 的剩余年数)" LEGACY_PIPE_AGE_COLUMN = "管龄" COLUMN_ALIASES = { "ID": ID_COLUMN, @@ -499,7 +500,7 @@ def render_survival_chart(predictions: list[dict[str, Any]], image_path: Path) - PIPE_AGE_COLUMN: pipe_age, "当前健康状态": current_health_state, "健康等级": grade_label, - "预计剩余寿命(年)": format_years(remaining_life, current_age, max_age), + REMAINING_LIFE_COLUMN: format_years(remaining_life, current_age, max_age), } ) if i < CHART_DISPLAY_LIMIT: @@ -548,7 +549,7 @@ def write_prediction_workbook( with pd.ExcelWriter(excel_path, engine="openpyxl") as writer: summary_df = pd.DataFrame( summary_sheet_rows, - columns=[ID_COLUMN, PIPE_AGE_COLUMN, "当前健康状态", "健康等级", "预计剩余寿命(年)"], + columns=[ID_COLUMN, PIPE_AGE_COLUMN, "当前健康状态", "健康等级", REMAINING_LIFE_COLUMN], ) sample_df = pd.DataFrame(sample_data_rows, columns=sample_columns) if ID_COLUMN in summary_df.columns: diff --git a/tests/test_prediction.py b/tests/test_prediction.py index 0c2c445..1ccb059 100644 --- a/tests/test_prediction.py +++ b/tests/test_prediction.py @@ -15,6 +15,7 @@ from app.prediction import ( ID_COLUMN, INPUT_COLUMNS, PIPE_AGE_COLUMN, + REMAINING_LIFE_COLUMN, PredictionError, estimate_remaining_life, grade_info, @@ -182,8 +183,8 @@ class PredictionHelpersTest(unittest.TestCase): ] summary_rows = [{"pipe_id": "P001"}, {"pipe_id": "P002"}] summary_sheet_rows = [ - {ID_COLUMN: "P001", PIPE_AGE_COLUMN: "10 年", "当前健康状态": 0.7, "健康等级": "IV级", "预计剩余寿命(年)": ">63"}, - {ID_COLUMN: "P002", PIPE_AGE_COLUMN: "12 年", "当前健康状态": 0.6, "健康等级": "III级", "预计剩余寿命(年)": ">61"}, + {ID_COLUMN: "P001", PIPE_AGE_COLUMN: "10 年", "当前健康状态": 0.7, "健康等级": "IV级", REMAINING_LIFE_COLUMN: ">63"}, + {ID_COLUMN: "P002", PIPE_AGE_COLUMN: "12 年", "当前健康状态": 0.6, "健康等级": "III级", REMAINING_LIFE_COLUMN: ">61"}, ] with TemporaryDirectory() as temp_dir: @@ -196,7 +197,7 @@ class PredictionHelpersTest(unittest.TestCase): summary_data = pd.read_excel(output_path, sheet_name="结果摘要") self.assertEqual( summary_data.columns.tolist(), - [ID_COLUMN, PIPE_AGE_COLUMN, "当前健康状态", "健康等级", "预计剩余寿命(年)"], + [ID_COLUMN, PIPE_AGE_COLUMN, "当前健康状态", "健康等级", REMAINING_LIFE_COLUMN], ) sample_data = pd.read_excel(output_path, sheet_name="样本数据") @@ -216,7 +217,7 @@ class PredictionHelpersTest(unittest.TestCase): predictions = [dummy_prediction("00123", [1], [0.9], 10, 0.9)] summary_rows = [{"pipe_id": "00123"}] summary_sheet_rows = [ - {ID_COLUMN: "00123", PIPE_AGE_COLUMN: "10 年", "当前健康状态": 0.9, "健康等级": "V级", "预计剩余寿命(年)": ">63"} + {ID_COLUMN: "00123", PIPE_AGE_COLUMN: "10 年", "当前健康状态": 0.9, "健康等级": "V级", REMAINING_LIFE_COLUMN: ">63"} ] with TemporaryDirectory() as temp_dir: