def filter_no_leads(df):
    """
    Objective: Filter out sitegeos where there are no leads
    :param df: Dataframe with all sitegeos
    :return: Dataframe with sitegeos having at least one lead
    """

    # Group by sitegeo, count brands
    __df_grouped = df.groupby(by='sitegeo', as_index=False).leads.sum()

    filter_sitegeos = []

    # Add sitegeos that have no variants
    for _ in range(len(__df_grouped)):

        if __df_grouped.loc[_, 'leads'] < 1:
            filter_sitegeos.append(__df_grouped.loc[_, 'sitegeo'])

    return df[~df['sitegeo'].isin(filter_sitegeos)]