Beispiel #1
0
def encode(dframe, dataset, add_index=True):
    """Encode the columns for `dataset` to slugs and add ID column.

    The ID column is the dataset_id for dataset.  This is
    used to link observations to a specific dataset.

    :param dframe: The DataFrame to encode.
    :param dataset: The Dataset to use a mapping for.
    :param add_index: Add index to the DataFrame, default True.

    :returns: A modified `dframe` as a BambooFrame.
    """
    dframe = BambooFrame(dframe)

    if add_index:
        dframe = dframe.add_index()

    dframe = dframe.add_id_column(dataset.dataset_id)
    encoded_columns_map = dataset.schema.rename_map_for_dframe(dframe)

    return dframe.rename(columns=encoded_columns_map)