def split_df(df):
    """
    This function splits the DataFrame in the 3 Parts that we use for all the calculations.

    Args:
        df (DataFrame): This is the filtered DataFrame that we will split into the 3 qual parts

    Returns:
        df_first_25 (DataFrame) : DataFrame containing the first 25% of the Original DataFrame 
        df_middle_50 (DataFrame) : DataFrame containing the middle 50% of the Original DataFrame
        df_last_25 (DataFrame) : DataFrame containing the last 25% of the Original DataFrame
    """
    df_25_len = round(len(df) / 4)
    df_first_25 = df[:-(df_25_len*3)]
    df_middle_50 = df[-(df_25_len*3):-df_25_len]
    df_last_25 = df[-df_25_len:]
    return df_first_25, df_middle_50, df_last_25