## parameter_draws()


Extract posterior draws for one or more variables into a tidy Polars DataFrame.


Usage


``` python
parameter_draws(
    dt, *var_names, group="posterior", chain_dim="chain", draw_dim="draw"
)
```


Non-sample dimensions (everything except `chain` and `draw`) are detected automatically from the xarray DataArray's `.dims` - no bracket syntax needed.


## Parameters


`dt: xr.DataTree or arviz.InferenceData`  
ArviZ InferenceData or xarray DataTree from PyMC sampling.

`*var_names: str`  
Names of variables to extract. Dimensions are auto-detected.

`group: str = ``"posterior"`  
Which InferenceData group to extract from (e.g., "posterior", "prior"). Default "posterior".

`chain_dim: str = ``"chain"`  
Names of the chain and draw dimensions.

`draw_dim: str = ``"chain"`  
Names of the chain and draw dimensions.


## Returns


`pl.DataFrame`  
Tidy DataFrame with columns: chain, draw, \[named dims…\], \[var_names…\] One row per unique (chain, draw, \[dim combo\]).


## Examples

Scalar parameter (no duplication)

parameter_draws(dt, "sigma") \# -\> columns: chain, draw, sigma \# -\> 4 x 1000 = 4,000 rows

Array parameter - dims auto-detected from the DataArray

parameter_draws(dt, "beta", "intercept") \# -\> columns: chain, draw, groups, beta, intercept \# -\> 4 x 1000 x 4 = 16,000 rows (NOT 320,000)

Mix of scalar and array (sigma broadcast-joined to group-level params)

parameter_draws(dt, "beta", "sigma") \# -\> columns: chain, draw, groups, beta, sigma \# -\> 4 x 1000 x 4 = 16,000 rows; sigma repeated per group (explicit and expected)

Different groups (prior vs posterior)

parameter_draws(dt, "beta", group="prior") \# -\> extract prior draws for beta

Multi-dimensional variable

parameter_draws(dt, "gamma") \# -\> columns: chain, draw, time, group, gamma
