def cut_groups(data, col, cutoffs):
    """Cut data into subsets according to cutoffs

    Parameters
    ----------
    data : pandas.DataFrame
        Data to split.
    col : str
        Name of column in data to compare with.
    cutoffs : list(int)
        List of cutoffs, like as [min-value, 30, 60, max-value].

    Returns
    -------
    list(pandas.DataFrame)
        List of sub-data as DataFrame.

    Examples
    --------
    >>> cut_groups(data, "X", [0, 0.4, 0.6, 1.0])
    [pandas.DataFrame, pandas.DataFrame, pandas.DataFrame]
    """
    res = []
    N = len(cutoffs)
    for i in range(N - 1):
        if i == N - 2:
            df = data[(data[col] >= cutoffs[i]) & (data[col] <= cutoffs[i+1])]
        else:
            df = data[(data[col] >= cutoffs[i]) & (data[col] < cutoffs[i+1])]
        res.append(df)
    return res