# report\_results

<pre class="language-python"><code class="lang-python">dbnl.report_results(
    *,
    run: <a data-footnote-ref href="#user-content-fn-1">Run</a>,
    column_data: <a data-footnote-ref href="#user-content-fn-2">pandas.DataFrame</a>,
    scalar_data: dict[str, Any] | pandas.DataFrame | None = None
) -> None:
</code></pre>

## Parameters

<table><thead><tr><th width="208">Arguments</th><th>Description</th></tr></thead><tbody><tr><td><code>run</code></td><td>The DBNL <a href="../../sdk-objects/run">Run</a> that the results will be reported to.</td></tr><tr><td><code>column_data</code></td><td>A <a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">pandas DataFrame</a> with all the column results to report to DBNL. The columns of the DataFrame must match the <code>columns</code> described in the <a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">RunConfig</a> associated with the Run.</td></tr><tr><td><code>scalar_data</code></td><td>A dict or pandas Dataframe with all the scalar results to report to DBNL. The key of the dict must match the <code>scalars</code> described in the <a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">RunConfig</a> associated with the Run.</td></tr></tbody></table>

{% hint style="info" %}
`report_results` is the equivalent of calling both `report_column_results` and `report_scalar_results` .
{% endhint %}

## Limitations

{% hint style="warning" %}
All data should be reported to dbnl at once. Calling `dbnl.report_results` more than once will overwrite the previously uploaded data.
{% endhint %}

{% hint style="danger" %}
Once a Run is [closed](https://docs.dbnl.com/v0.19.x/using-distributional/python-sdk/sdk-functions/run/close_run). You can no longer call `report_results` to send data to DBNL.
{% endhint %}

## Examples

```python
import dbnl
import pandas as pd
dbnl.login()


proj1 = dbnl.get_or_create_project(name="test_p1")
runcfg1 = dbnl.create_run_config(project=proj1, columns=[{"name": "error", "type": "float"}])
run1 = dbnl.create_run(project=proj1, run_config=runcfg1)

data = pd.DataFrame({"error": [0.11, 0.33, 0.52, 0.24]})
dbnl.report_results(run=run1, column_data=data)


import dbnl
import pandas as pd
dbnl.login()


proj1 = dbnl.get_or_create_project(name="test_p1")
runcfg1 = dbnl.create_run_config(
    project=proj1, 
    columns=[{"name": "error", "type": "float"}],
    scalars=[{"name": "rmse": "type": "float"}],
)
run1 = dbnl.create_run(project=proj1, run_config=runcfg1)
data = pd.DataFrame({"error": [0.11, 0.33, 0.52, 0.24]})
dbnl.report_results(run=run1, column_data=data, scalar_data={"rmse": 0.37})
```

[^1]: [Run](https://docs.dbnl.com/v0.19.x/using-distributional/python-sdk/sdk-objects/run)

[^2]: [pandas.DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html)
