(df: pl.DataFrame)
| 54 | |
| 55 | |
| 56 | def _canonicalize_columns(df: pl.DataFrame) -> pl.DataFrame: |
| 57 | rename_map: dict[str, str] = {} |
| 58 | used_targets: set[str] = set() |
| 59 | for col in df.columns: |
| 60 | key = _normalize_column_name(col) |
| 61 | if key in _COLUMN_ALIASES: |
| 62 | target = _COLUMN_ALIASES[key] |
| 63 | if target in used_targets and col != target: |
| 64 | continue |
| 65 | rename_map[col] = target |
| 66 | used_targets.add(target) |
| 67 | if rename_map: |
| 68 | return df.rename(rename_map) |
| 69 | return df |
| 70 | |
| 71 | |
| 72 | def _validate_required_columns(df: pl.DataFrame) -> None: |
no test coverage detected