pipeline.src.shared_tasks.vessels ================================= .. py:module:: pipeline.src.shared_tasks.vessels Functions --------- .. autoapisummary:: pipeline.src.shared_tasks.vessels.add_vessel_id pipeline.src.shared_tasks.vessels.add_vessels_columns Module Contents --------------- .. py:function:: add_vessel_id(vessels: pandas.DataFrame, vessels_table: sqlalchemy.Table) -> pandas.DataFrame Adds a `vessel_id` column to the input `DataFrame` by: - querying all vessels in the `vessels` table that have a matching `cfr`, `ircs` or `external_immatriculation` - matching the found vessels to the input vessels using the `merge_vessel_id` helper. :param vessels: DataFrame of vessels. Must have columns `cfr`, `ircs` :type vessels: pd.DataFrame :param and `external_immatriculation`: :param vessels_table: sqlalchemy `Table` of vessels. :type vessels_table: Table :returns: Same as input with an added `vessel_id` column. :rtype: pd.DataFrame .. py:function:: add_vessels_columns(vessels: pandas.DataFrame, vessels_table: sqlalchemy.Table, vessels_columns_to_add: list = None, districts_table: sqlalchemy.Table = None, districts_columns_to_add: list = None) -> pandas.DataFrame Adds the indicated columns to the input `vessels` DataFrame. :param vessels: DataFrame of vessels. Must have `vessel_id` column. :type vessels: pd.DataFrame :param vessels_table: vessels table. :type vessels_table: Table :param vessels_columns_to_get: List of columns from the `vessels` table to add. Defaults to None. :type vessels_columns_to_get: list, optional :param districts_table: district table. Must ne supplied if `districts_columns_to_get` is given. Defaults to None. :type districts_table: Table, optional :param districts_columns_to_get: List of columns from the `districts` table to add. Defaults to None. :type districts_columns_to_get: list, optional :returns: Input DataFrame with added columns. :rtype: pd.DataFrame