# {py:mod}`causalis.data_contracts.causaldata_instrumental`

```{py:module} causalis.data_contracts.causaldata_instrumental
```

```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`CausalDataInstrumental <causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental>`
  - ```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental
    :summary:
    ```
````

### API

`````{py:class} CausalDataInstrumental(/, **data: typing.Any)
:canonical: causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental

Bases: {py:obj}`causalis.data_contracts.causaldata.CausalData`

```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental
```

```{rubric} Initialization
```

```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.__init__
```

````{py:attribute} instrument_name
:canonical: causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.instrument_name
:type: str
:value: >
   'Field(...)'

```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.instrument_name
```

````

````{py:method} from_df(df: pandas.DataFrame, treatment: str, outcome: str, confounders: typing.Optional[typing.Union[str, typing.List[str]]] = None, user_id: typing.Optional[str] = None, instrument: str = None, **kwargs: typing.Any) -> causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental
:canonical: causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.from_df
:classmethod:

```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.from_df
```

````

````{py:property} instrument
:canonical: causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.instrument
:type: pandas.Series

```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.instrument
```

````

````{py:method} get_df(columns: typing.Optional[typing.List[str]] = None, include_treatment: bool = True, include_outcome: bool = True, include_confounders: bool = True, include_user_id: bool = False, include_instrument: bool = False) -> pandas.DataFrame
:canonical: causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.get_df

```{autodoc2-docstring} causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.get_df
```

````

````{py:method} __repr__() -> str
:canonical: causalis.data_contracts.causaldata_instrumental.CausalDataInstrumental.__repr__

````

`````
