Skip to content
Submodule
causalis.data_contracts.multicausaldata

multicausaldata

Submodule causalis.data_contracts.multicausaldata with no child pages and 17 documented members.

Classes

Jump directly into the documented classes for this page.

1 items
class
causalis.data_contracts.multicausaldata.MultiCausalData

MultiCausalData

Bases: pydantic.BaseModel

Data contract for cross-sectional causal data with multi-class one-hot treatments.

Parameters

dfpd.DataFrame

The DataFrame containing the causal data.

outcomestr

The name of the outcome column.

treatment_namesList[str]

The names of the treatment columns.

confoundersList[str], optional

The names of the confounder columns, by default [].

user_idOptional[str], optional

The name of the user ID column, by default None.

control_treatmentstr

Name of the control/baseline treatment column.

Notes

This class enforces several constraints on the data, including:

  • Maximum number of treatment_names (default 15).

  • No duplicate column names in the input DataFrame.

  • Disjoint roles for columns (outcome, treatment_names, confounders, user_id).

  • Non-empty normalized names for outcome and user_id (if provided).

  • Existence of all specified columns in the DataFrame.

  • Numeric or boolean types for outcome and confounders.

  • Finite values for outcome, confounders, and treatment_names.

  • Non-constant values for outcome, treatment_names, and confounders.

  • No NaN values in used columns.

  • Binary (0/1) encoding for treatment columns.

  • One-hot treatment assignment (exactly one active treatment per row).

  • A stable control treatment in position 0.

  • No identical values between different columns.

  • Unique values for user_id (if specified).

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData

Sections

ParametersNotesInitialization
Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.model_config

model_config

Value: 'ConfigDict(...)'

‘ConfigDict(…)’

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.model_config

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.MAX_TREATMENTS

MAX_TREATMENTS

Value: 15

15

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.MAX_TREATMENTS

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.FLOAT_TOL

FLOAT_TOL

Value: 1e-12

1e-12

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.FLOAT_TOL

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.df

df

Value: None

None

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.df

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.outcome

outcome

Value: None

None

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.outcome

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.treatment_names

treatment_names

Value: None

None

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.treatment_names

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.confounders

confounders

Value: 'Field(...)'

‘Field(…)’

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.confounders

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.user_id

user_id

Value: None

None

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.user_id

Link to this symbol
attribute
causalis.data_contracts.multicausaldata.MultiCausalData.control_treatment

control_treatment

Value: None

None

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.control_treatment

Link to this symbol
method
causalis.data_contracts.multicausaldata.MultiCausalData.from_df

from_df

Create a MultiCausalData instance from a pandas DataFrame.

Parameters

dfpd.DataFrame

The input DataFrame.

outcomestr

The name of the outcome column.

treatment_namesUnion[str, List[str]]

The name(s) of the treatment column(s).

confoundersUnion[str, List[str]], optional

The name(s) of the confounder column(s), by default None.

user_idstr, optional

The name of the user ID column, by default None.

control_treatmentstr

Name of the control treatment column.

**kwargsAny

Additional keyword arguments passed to the constructor.

Returns

MultiCausalData

An instance of MultiCausalData.

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.from_df

Sections

ParametersReturns
Link to this symbol
property
causalis.data_contracts.multicausaldata.MultiCausalData.treatments

treatments

Return the treatment columns as a pandas DataFrame.

Returns

pd.DataFrame

The treatment columns.

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.treatments

Sections

Returns
Link to this symbol
property
causalis.data_contracts.multicausaldata.MultiCausalData.treatment

treatment

Return the single treatment column as a pandas Series.

Returns

pd.Series

The treatment column.

Raises

AttributeError

If there is more than one treatment column.

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.treatment

Sections

ReturnsRaises
Link to this symbol
property
causalis.data_contracts.multicausaldata.MultiCausalData.X

X

Return the confounder columns as a pandas DataFrame.

Returns

pd.DataFrame

The confounder columns.

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.X

Sections

Returns
Link to this symbol
method
causalis.data_contracts.multicausaldata.MultiCausalData.get_df

get_df

Get a subset of the underlying DataFrame.

Parameters

columnsList[str], optional

Specific columns to include, by default None.

include_outcomebool, optional

Whether to include the outcome column, by default True.

include_confoundersbool, optional

Whether to include confounder columns, by default True.

include_treatmentsbool, optional

Whether to include treatment columns, by default True.

include_user_idbool, optional

Whether to include the user ID column, by default False.

Returns

pd.DataFrame

A copy of the requested DataFrame subset.

Raises

ValueError

If any of the requested columns do not exist.

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.get_df

Sections

ParametersReturnsRaises
Link to this symbol
method
causalis.data_contracts.multicausaldata.MultiCausalData.__repr__

__repr__

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.__repr__

Link to this symbol
method
causalis.data_contracts.multicausaldata.MultiCausalData.__str__

__str__

Canonical target

causalis.data_contracts.multicausaldata.MultiCausalData.__str__

Link to this symbol