def filter_low_variance(df):
    """
    Filter features with little or no variance
    Returns a new dataframe and list of features removed
    """
    removed_list = []
    for column in df.columns:
        values = df[column].values
        if (values.max() == values.min()):
            df = df.drop(column, 1)
            removed_list.append(column)
    return df, removed_list