esc
Start typing to search the docs
Navigate Open

Send dataframes to a recording

If your data is already in a table, you can log the whole table in a single call instead of logging it row by row or column by column. In Python, rr.send_dataframe takes a pandas DataFrame or an Arrow table and logs it into the active recording, so it's saved with the rest of your data and can be shown next to your other views.

Pass the timeline columns as index and the desired entity path for the remaining columns as entity_path:

"""Log an entire table, in a single operation."""

from __future__ import annotations

import numpy as np
import pandas as pd

import rerun as rr

rr.init("rerun_example_send_dataframe", spawn=True)

steps = np.arange(0, 64)
df = pd.DataFrame({
    "step": steps,
    "sin": np.sin(steps / 10.0),
    "cos": np.cos(steps / 10.0),
})

rr.send_dataframe(df, index="step", entity_path="/trig")

Each remaining column becomes a component of that entity, which you can display in a DataframeView.

Like send_columns, this ignores any timeline values set with rr.set_time and bypasses the micro-batcher: only the timelines in the table are added. To control component types or spread columns across several entities, see Chunks.

Reference