Trajectory Frame#

This page gives an overview of all public TrajFrame methods.

TrajFrame(source[, condense, rename_cols, ...])

Create a TrajFrame from Lagrangian trajectories stored in either a polars DataFrame or LazyFrame or an xarray DataSet.

class lt_toolbox.TrajFrame(source: DataFrame | LazyFrame | Dataset, condense: bool = False, rename_cols: dict | None = None, summary_source: Dataset | None = None)[source]

Create a TrajFrame from Lagrangian trajectories stored in either a polars DataFrame or LazyFrame or an xarray DataSet.

Parameters:
  • source (DataFrame | LazyFrame | DataSet) – Lagrangian trajectories to be stored in TrajFrame. Trajectories specified in eager or lazy tabular data formats can be stored in long-format or condensed formats. Trajectories specified in an xarray DataSet will be transformed to a condensed DataFrame before TrajFrame creation.

  • condense (bool, default: False) – Transform DataFrame or LazyFrame from long-format to condensed format where data is stored in list columns.

  • rename_cols (dict, default: None) – Rename columns variables using key value pairs that map from current to new column names.

  • summary_source (DataSet, default: None) – DataSet storing summary statistics in the form of n-dimensional DataArrays generated from Lagrangian trajectory data contained in the TrajFrame.

Returns:

Complete trajectories, including all column variables contained in .data attribute. Summary statistics stored as n-dimensional arrays in .summary_data.

Return type:

TrajFrame

Examples

Creating TrajFrame, trajectories, with example_trajectories.csv file in eager mode.

>>> filename = 'example_trajectories.csv'
>>> data = pl.read_csv(filename)
>>> trajectories = TrajFrame(source=data)

Creating TrajFrame, trajectories, with multiple parquet files in lazy mode.

>>> filenames = [ 'example_trajectories1.parquet', 'example_trajectories2.parquet']
>>> data = pl.concat([pl.scan_csv(file) for file in filenames])
>>> trajectories = TrajFrame(source=data)

Creating TrajFrame, trajectories, from a .zarr file with dimensions (traj x obs). The water parcel IDs must be stored in a 2-dimensional array, trajectory. When creating a TrajFrame from a DataSet, condense is defined as True by default.

>>> filename = 'example_trajectories.zarr'
>>> dataset = xr.open_zarr(filename, chunks=None)
>>> trajectories = TrajFrame(source=dataset, condense=True)
__init__(source: DataFrame | LazyFrame | Dataset, condense: bool = False, rename_cols: dict | None = None, summary_source: Dataset | None = None)[source]