leaf_engine.adapt.adapt_utilities ================================= .. py:module:: leaf_engine.adapt.adapt_utilities Functions --------- .. autoapisummary:: leaf_engine.adapt.adapt_utilities.add_multilevel_columns leaf_engine.adapt.adapt_utilities.cluster_by_city_state leaf_engine.adapt.adapt_utilities.ends leaf_engine.adapt.adapt_utilities.flatten_multilevel_columns leaf_engine.adapt.adapt_utilities.format_datetime_columns leaf_engine.adapt.adapt_utilities.get_centroids leaf_engine.adapt.adapt_utilities.get_rate_types leaf_engine.adapt.adapt_utilities.get_window_size leaf_engine.adapt.adapt_utilities.group leaf_engine.adapt.adapt_utilities.load_data leaf_engine.adapt.adapt_utilities.mode leaf_engine.adapt.adapt_utilities.ordinals_to_days leaf_engine.adapt.adapt_utilities.pipe leaf_engine.adapt.adapt_utilities.read_file leaf_engine.adapt.adapt_utilities.remove_index leaf_engine.adapt.adapt_utilities.snakecase_column_names leaf_engine.adapt.adapt_utilities.upcase_string_values leaf_engine.adapt.adapt_utilities.wkt_to_coords Module Contents --------------- .. py:function:: add_multilevel_columns(df: pandas.DataFrame, top_level: str) -> pandas.DataFrame .. py:function:: cluster_by_city_state(df: pandas.DataFrame, od: str) -> pandas.DataFrame .. py:function:: ends(df: pandas.DataFrame, n: int = 1) -> pandas.DataFrame .. py:function:: flatten_multilevel_columns(df: pandas.DataFrame, delimiter: str = '_') -> pandas.DataFrame .. py:function:: format_datetime_columns(df: pandas.DataFrame, datetime_cols: list) -> pandas.DataFrame .. py:function:: get_centroids(geometry_col: pandas.Series) .. py:function:: get_rate_types(_ships: pandas.DataFrame) -> pandas.DataFrame Given a dataframe of individual shipments, estimates whether each shipment's rate type is contract or spot, and returns dataframe with `rate_type` column added. .. py:function:: get_window_size(period: pandas.Series) Given a Series of dates, calculates the number of days in the date range and rounds that number down to the nearest multiple of 30 (up to 360 days) .. py:function:: group(df: pandas.DataFrame, by: list, agg: dict, reset_index: bool = True) -> pandas.DataFrame Wrapper for groupby() to standardize and streamline group agg syntax. Index resets by default. .. py:function:: load_data(csv: str, converters: dict = {'d_zip': str, 'o_zip': str, 'zip': str}, datetime_cols: list = ['period']) -> pandas.DataFrame Standard pipeline for loading .csv files. Takes file's relative path, returns formatted dataframe. .. py:function:: mode(iterable: pandas.Series) -> object Returns the most common value in a pd.Series or other iterable. If no mode, returns the first value. If 2+ modes, returns the first mode. Note: This method is 3x faster than native Pandas methods. .. py:function:: ordinals_to_days(iterable: Iterable[Any]) .. py:function:: pipe(obj, thru=[]) Passes an object through a sequence of functions, where the output of one is the input of the next. Example: pipe(3, thru = [lambda x: x ** 3, str]) # => "27" .. py:function:: read_file(filename: str) -> str .. py:function:: remove_index(df: pandas.DataFrame, index_col: str = 'Unnamed:') -> pandas.DataFrame Removes default index column if it exists. .. py:function:: snakecase_column_names(df: pandas.DataFrame) -> pandas.DataFrame .. py:function:: upcase_string_values(df: pandas.DataFrame, excl_cols=[]) -> pandas.DataFrame .. py:function:: wkt_to_coords(wkt: str) -> Dict[str, float]