econirl.preprocessing.check_panel_structure

econirl.preprocessing.check_panel_structure(df, id_col='id', period_col='period', state_col=None, action_col=None, require_balanced=False, require_consecutive=False)[source]

Validate panel data structure for DDC estimation.

Checks for common data issues that can cause estimation problems: - Missing values in key columns - Gaps in period sequences - Unbalanced panels - State/action value issues

Parameters:
  • df (DataFrame) – Panel data

  • id_col (str) – Column name for individual identifier

  • period_col (str) – Column name for time period

  • state_col (str | None) – Optional column name for state (if provided, checks for missing)

  • action_col (str | None) – Optional column name for action (if provided, checks for missing)

  • require_balanced (bool) – If True, treat unbalanced panel as error

  • require_consecutive (bool) – If True, treat period gaps as error

Returns:

PanelValidationResult with validation details

Return type:

PanelValidationResult

Example

>>> from econirl.preprocessing import check_panel_structure
>>> result = check_panel_structure(df, id_col='bus_id', period_col='period')
>>> if not result.valid:
...     print("Errors:", result.errors)