def add_date_features(df):
    df['date'] = df['date'].astype(str)
    df["date"] = df["date"].apply(lambda x: x[:4] + "-" + x[4:6] + "-" + x[6:])
    df["date"] = pd.to_datetime(df["date"])

    df["month"] = df['date'].dt.month
    df["day"] = df['date'].dt.day
    df["weekday"] = df['date'].dt.weekday
    return df