'Args:
df_lists (list): a list of DataFlow, or a list of (DataFlow, probability) tuples.
Probabilities must sum to 1 if used.'

def __init__(self, df_lists):

    super(RandomChooseData, self).__init__()
    if isinstance(df_lists[0], (tuple, list)):
        assert (sum([v[1] for v in df_lists]) == 1.0)
        self.df_lists = df_lists
    else:
        prob = (1.0 / len(df_lists))
        self.df_lists = [(k, prob) for k in df_lists]
