human
I wrote the below code

    def _quantiles1D(data, m, p):
        x = np.sort(data.compressed())
        n = len(x)
        if (n == 0):
            return ma.array(np.empty(len(p), dtype=float), mask=True)
        elif (n == 1):
            return ma.array(np.resize(x, p.shape), mask=nomask)
        aleph = ((n * p) + m)
        k = np.floor(aleph.clip(1, (n - 1))).astype(int)
        gamma = (aleph - k).clip(0, 1)
        return (((1.0 - gamma) * x[(k - 1).tolist()]) + (gamma * x[k.tolist()]))
    data = ma.array(a, copy=False)
    if (data.ndim > 2):
        raise TypeError('Array    should    be    2D    at    most    !')
    if limit:
        condition = ((limit[0] < data) & (data < limit[1]))
        data[(~ condition.filled(True))] = masked
    p = np.array(prob, copy=False, ndmin=1)
    m = (alphap + (p * ((1.0 - alphap) - betap)))
    if (axis is None):
        return _quantiles1D(data, m, p)
    return ma.apply_along_axis(_quantiles1D, axis, data, m, p)

What's a good function header?
assistant
#Here's a good function header.

def mquantiles(a, prob=list([0.25, 0.5, 0.75]), alphap=0.4, betap=0.4, axis=None, limit=()):