def splitXY(dfXY):
    """
    Takes a dataframe with all X (features) and Y (labels) information and 
    produces four different dataframes: nuclide concentrations only (with 
    input-related columns deleted) + 1 dataframe for each label column.

    Parameters
    ----------
    dfXY : dataframe with nuclide concentraations and 3 labels: reactor type, 
           enrichment, and burnup

    Returns
    -------
    dfX : dataframe with only nuclide concentrations for each instance
    r_dfY : dataframe with reactor type for each instance
    e_dfY : dataframe with fuel enrichment for each instance
    b_dfY : dataframe with fuel burnup for each instance

    """

    x = len(dfXY.columns)-3
    dfX = dfXY.iloc[:, 0:x]
    r_dfY = dfXY.iloc[:, x]
    e_dfY = dfXY.iloc[:, x+1]
    b_dfY = dfXY.iloc[:, x+2]
    return dfX, r_dfY, e_dfY, b_dfY