def quantile(expr, prob=None, **kw):
    """
    Percentile value.

    :param expr:
    :param prob: probability or list of probabilities, in [0, 1]
    :return:
    """

    prob = kw.get('_prob', prob)
    output_type = _stats_type(expr)
    if isinstance(prob, (list, set)) and not isinstance(expr, GroupBy):
        output_type = types.List(output_type)
    return _reduction(expr, Quantile, output_type, _prob=prob)