Clarify remaining life export column
This commit is contained in:
+3
-2
@@ -56,6 +56,7 @@ FEATURES = [
|
|||||||
|
|
||||||
ID_COLUMN = "管道编号"
|
ID_COLUMN = "管道编号"
|
||||||
PIPE_AGE_COLUMN = "管龄(年)"
|
PIPE_AGE_COLUMN = "管龄(年)"
|
||||||
|
REMAINING_LIFE_COLUMN = "预计剩余寿命(年)(管道健康状态 ≥0.5 的剩余年数)"
|
||||||
LEGACY_PIPE_AGE_COLUMN = "管龄"
|
LEGACY_PIPE_AGE_COLUMN = "管龄"
|
||||||
COLUMN_ALIASES = {
|
COLUMN_ALIASES = {
|
||||||
"ID": ID_COLUMN,
|
"ID": ID_COLUMN,
|
||||||
@@ -499,7 +500,7 @@ def render_survival_chart(predictions: list[dict[str, Any]], image_path: Path) -
|
|||||||
PIPE_AGE_COLUMN: pipe_age,
|
PIPE_AGE_COLUMN: pipe_age,
|
||||||
"当前健康状态": current_health_state,
|
"当前健康状态": current_health_state,
|
||||||
"健康等级": grade_label,
|
"健康等级": 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:
|
if i < CHART_DISPLAY_LIMIT:
|
||||||
@@ -548,7 +549,7 @@ def write_prediction_workbook(
|
|||||||
with pd.ExcelWriter(excel_path, engine="openpyxl") as writer:
|
with pd.ExcelWriter(excel_path, engine="openpyxl") as writer:
|
||||||
summary_df = pd.DataFrame(
|
summary_df = pd.DataFrame(
|
||||||
summary_sheet_rows,
|
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)
|
sample_df = pd.DataFrame(sample_data_rows, columns=sample_columns)
|
||||||
if ID_COLUMN in summary_df.columns:
|
if ID_COLUMN in summary_df.columns:
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ from app.prediction import (
|
|||||||
ID_COLUMN,
|
ID_COLUMN,
|
||||||
INPUT_COLUMNS,
|
INPUT_COLUMNS,
|
||||||
PIPE_AGE_COLUMN,
|
PIPE_AGE_COLUMN,
|
||||||
|
REMAINING_LIFE_COLUMN,
|
||||||
PredictionError,
|
PredictionError,
|
||||||
estimate_remaining_life,
|
estimate_remaining_life,
|
||||||
grade_info,
|
grade_info,
|
||||||
@@ -182,8 +183,8 @@ class PredictionHelpersTest(unittest.TestCase):
|
|||||||
]
|
]
|
||||||
summary_rows = [{"pipe_id": "P001"}, {"pipe_id": "P002"}]
|
summary_rows = [{"pipe_id": "P001"}, {"pipe_id": "P002"}]
|
||||||
summary_sheet_rows = [
|
summary_sheet_rows = [
|
||||||
{ID_COLUMN: "P001", PIPE_AGE_COLUMN: "10 年", "当前健康状态": 0.7, "健康等级": "IV级", "预计剩余寿命(年)": ">63"},
|
{ID_COLUMN: "P001", PIPE_AGE_COLUMN: "10 年", "当前健康状态": 0.7, "健康等级": "IV级", REMAINING_LIFE_COLUMN: ">63"},
|
||||||
{ID_COLUMN: "P002", PIPE_AGE_COLUMN: "12 年", "当前健康状态": 0.6, "健康等级": "III级", "预计剩余寿命(年)": ">61"},
|
{ID_COLUMN: "P002", PIPE_AGE_COLUMN: "12 年", "当前健康状态": 0.6, "健康等级": "III级", REMAINING_LIFE_COLUMN: ">61"},
|
||||||
]
|
]
|
||||||
|
|
||||||
with TemporaryDirectory() as temp_dir:
|
with TemporaryDirectory() as temp_dir:
|
||||||
@@ -196,7 +197,7 @@ class PredictionHelpersTest(unittest.TestCase):
|
|||||||
summary_data = pd.read_excel(output_path, sheet_name="结果摘要")
|
summary_data = pd.read_excel(output_path, sheet_name="结果摘要")
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
summary_data.columns.tolist(),
|
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="样本数据")
|
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)]
|
predictions = [dummy_prediction("00123", [1], [0.9], 10, 0.9)]
|
||||||
summary_rows = [{"pipe_id": "00123"}]
|
summary_rows = [{"pipe_id": "00123"}]
|
||||||
summary_sheet_rows = [
|
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:
|
with TemporaryDirectory() as temp_dir:
|
||||||
|
|||||||
Reference in New Issue
Block a user