leaf_engine.adapt.adapt_actions =============================== .. py:module:: leaf_engine.adapt.adapt_actions Classes ------- .. autoapisummary:: leaf_engine.adapt.adapt_actions.Action Functions --------- .. autoapisummary:: leaf_engine.adapt.adapt_actions.eval_point leaf_engine.adapt.adapt_actions.get_distances leaf_engine.adapt.adapt_actions.get_synthetic_rate_mean leaf_engine.adapt.adapt_actions.internal_substitute_candidates leaf_engine.adapt.adapt_actions.lane_balance_adjusted leaf_engine.adapt.adapt_actions.leaf_flex_actions leaf_engine.adapt.adapt_actions.pipeline Module Contents --------------- .. py:class:: 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) .. py:method:: add_market_balance(df, legs=None) .. py:method:: add_pattern_annualization_rpm(df: pandas.DataFrame, legs=None) .. py:method:: add_shorty_prices(df) .. py:method:: apply_network_pricing(df, legs, circuit, lspf=None, sf=None, stm=None) .. py:method:: get_leaf_day_rate_equip(equips: set[str]) .. py:method:: network_day_rate(days: float, equips: set[str], scale_width: int = 4, accuracy: int = 5) -> float .. py:attribute:: dat_market_balance_adj .. py:attribute:: lane_annualized_loads .. py:attribute:: lane_od_market .. py:attribute:: lane_rpm .. py:attribute:: leaf_day_rate_max .. py:attribute:: leaf_day_rate_min .. py:attribute:: leaf_lsp_fee .. py:attribute:: leaf_shipper_fee .. py:attribute:: min_shipments .. py:attribute:: patterns .. py:attribute:: shipper_trigger_margin .. py:function:: eval_point(x) .. py:function:: 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). .. py:function:: 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. :param _market_rates: The AdaptSyntheticRateContext "market_rates" dataframe. :param _run_date: Start date to work backwards from. :param _day_window: The number of days into the past from _run_date to include in the mean calculation. :param _ceiling: 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". :rtype: pd.DataFrame .. py:function:: internal_substitute_candidates(_lanes, _lane_class_annualized_loads, _internal_cm_priced) .. py:function:: lane_balance_adjusted(_market_rates, _lanes) .. py:function:: 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) .. py:function:: pipeline(df: pandas.DataFrame, funcs: list) -> pandas.DataFrame Pipes dataframe df through a list of functions invoke as df.pipe(pipeline, funcs=[ ... ])