@staticmethod
def split_df_into_subsets(df, fraction=0.5, random_state=1234):
    """Return a random sample of items from an axis of object.

        Parameters
        ----------
        df : pandas.core.frame.DataFrame
            Two-dimensional size-mutable,
            potentially heterogeneous tabular data
        fraction : float, optional
            Fraction of axis items to return.
            Cannot be used with `n`.
        random_state : int or numpy.random.RandomState, optional
            Seed for the random number generator (if int),
            or numpy RandomState object.

        Returns
        -------
        List
            List of data frame
        """
    df_1 = df.sample(frac=fraction, random_state=random_state)
    df_2 = df.drop(df_1.index)
    return df_1, df_2
