import pandas as pd STATE_COLUMNS = [ "q_UF", "temp", "TMP", "R", "nuK", "slope", "power", "ceb_removal" ] def build_chem_cycle_state(df: pd.DataFrame) -> pd.DataFrame: """ 从【物理周期层级】数据中构造 【化学周期层级】的 RL 状态。 """ grouped = df.groupby(["unit_id", "chem_cycle_id"]) state_df = pd.DataFrame({ "q_UF": grouped["flow_mean"].mean(), "temp": grouped["temp_mean"].mean(), "TMP": grouped["tmp_start"].first(), "R": grouped["R_scaled_start"].first(), "nuK": grouped["cycle_nuK"].first(), "slope": grouped["cycle_long_a"].first(), "power": grouped["cycle_long_b"].first(), "ceb_removal": grouped["cycle_R_removed"].first(), }) return state_df.reset_index(drop=True)