def categorify(df, label_column, start_from):
    """
    Takes in a pandas dataframe, the label column & a start index.
    makes the categorical labels into integers
    You can specify which index to start labelling from 0 or 1.
    returns a dictionary mapping the label to it's integer value.

    :param df: pd.Dataframe
    :param label_column: str
    :param start_from: int(0 or 1)

    :returns: 
        Dictionary of label to integer class mapping.
    """
    if all(isinstance(item, str) for item in df[label_column].values):
        print("Converting to integer labels...")

        label_dict = {}
        for k, v in enumerate(df[label_column].unique(), start=start_from):
            label_dict[v] = k

        return label_dict
    else:
        assert all(
            isinstance(item, int) for item in df[label_column].values
        ), "Labels already in integer format"