leaf_engine.adapt.adapt_actions

Classes

Action

Functions

eval_point(x)

get_distances(→ List)

Utility for measuring distances between clusters.

get_synthetic_rate_mean(→ pandas.DataFrame)

Creates a mean market rate from a window of synthetic market data.

internal_substitute_candidates(_lanes, ...)

lane_balance_adjusted(_market_rates, _lanes)

leaf_flex_actions(flex_patterns_, daily_patterns_, ...)

pipeline(→ pandas.DataFrame)

Pipes dataframe df through a list of functions invoke as df.pipe(pipeline,

Module Contents

class leaf_engine.adapt.adapt_actions.Action(leaf_day_rate_max: dict[str, float], leaf_day_rate_min: dict[str, float], leaf_lsp_fee, leaf_shipper_fee, shipper_trigger_margin, min_shipments, lane_od_market, dat_market_balance_adj, patterns, lane_annualized_loads, lane_rpm)
Parameters:
add_market_balance(df, legs=None)
add_pattern_annualization_rpm(df: pandas.DataFrame, legs=None)
Parameters:

df (pandas.DataFrame) –

add_shorty_prices(df)
apply_network_pricing(df, legs, circuit, lspf=None, sf=None, stm=None)
get_leaf_day_rate_equip(equips: set[str])
Parameters:

equips (set[str]) –

network_day_rate(days: float, equips: set[str], scale_width: int = 4, accuracy: int = 5) float
Parameters:
Return type:

float

dat_market_balance_adj
lane_annualized_loads
lane_od_market
lane_rpm
leaf_day_rate_max
leaf_day_rate_min
leaf_lsp_fee
leaf_shipper_fee
min_shipments
patterns
shipper_trigger_margin
leaf_engine.adapt.adapt_actions.eval_point(x)
leaf_engine.adapt.adapt_actions.get_distances(df: pandas.DataFrame) List

Utility for measuring distances between clusters.

Given a dataframe with four columns (x ID, x geometry, y ID, y geometry), returns a pd.Series with calculated distances between x and y. Memoizes calculated distances so calculations aren’t repeated, even if x and y appear in different leg positions (l0, l1, etc.). Note: ID column can be any unique identifier (e.g., WKT, database ID).

Parameters:

df (pandas.DataFrame) –

Return type:

List

leaf_engine.adapt.adapt_actions.get_synthetic_rate_mean(_market_rates: pandas.DataFrame, _run_date: str = 'today', _day_window: int = 90, _ceiling: bool = True) pandas.DataFrame

Creates a mean market rate from a window of synthetic market data.

Synthetic market rate columns are expected to have the format est_lh_*_YYYY-MM-DD.

Parameters:
  • _market_rates (pandas.DataFrame) – The AdaptSyntheticRateContext “market_rates” dataframe.

  • _run_date (str) – Start date to work backwards from.

  • _day_window (int) – The number of days into the past from _run_date to include in the mean calculation.

  • _ceiling (bool) – If True, will select at least _day_window days in the mean calculation. If False, may select less or more days than _day_window, whichever is closer.

Returns:

A dataframe containing the original “o_market” and “d_market”

columns as well as the mean fuel price in “est_lh_rate_ex_fuel”.

Return type:

pd.DataFrame

leaf_engine.adapt.adapt_actions.internal_substitute_candidates(_lanes, _lane_class_annualized_loads, _internal_cm_priced)
leaf_engine.adapt.adapt_actions.lane_balance_adjusted(_market_rates, _lanes)
leaf_engine.adapt.adapt_actions.leaf_flex_actions(flex_patterns_, daily_patterns_, dow_patterns_, lanes_, class_ships_, dat_rates_, lane_balance_adj_, leaf_day_rate_, leaf_lsp_fee_, leaf_shipper_fee_, shipper_trigger_margin_, window_days_, flex_ow_discount_=0.1, flex_ow_min_=700, dat_markup_=0.2)
leaf_engine.adapt.adapt_actions.pipeline(df: pandas.DataFrame, funcs: list) pandas.DataFrame

Pipes dataframe df through a list of functions invoke as df.pipe(pipeline, funcs=[ …

])

Parameters:
Return type:

pandas.DataFrame