def establish_relevant_columns(df):
    """
    Creates a dataframe with columns that are useful for month/year pivoting.

    :type df: pd.DataFrame
    :param
    df: A pd.DataFrame object that has exactly two columns: 'Date' containing DateTime values, and 'Miles' containing floats.

    :return
    A pd.DataFrame instance with 'Date', 'Year', 'Month', 'DayOfWeek', and 'Miles' columns
    """

    # First, drop NA values from the Miles column
    df.dropna(axis=0, how='any', subset=['Miles'], inplace=True)

    # Next, establish year, name-of-month, an name-of-day columns in the dataframe.
    df['DayOfWeek'] = df['Date'].dt.strftime('(%w): %A')
    df['Month'] = df['Date'].dt.strftime('(%m): %B')
    df['Year'] = df['Date'].dt.year

    return df