def check_mv_prop(df, p, toDrop=True):
    """It checks the proportion of missing values for each col and prints which cols have more than p% missing values.
    INPUT:
    df: Pandas dataframe.
    p: float. Missing values proportion threshold.
    toDrop: Boolean. If true, condition is propotion of mv > p. condition is propotion of mv < p otherwise.

    OUTPUT:
    toDrop_lst: list of columns be dropped if toDrop = True.
    toImpute_lst: list of columns to be imputed if toImpute_lst = True.
    """
    mvs = df.isnull().sum()
    if toDrop:
        toDrop_lst = []
        for col in df.columns:
            if mvs.loc[col] / df.shape[0] > p:
                print("{:.2f}% of {} are missing values".format((df.isnull().sum().loc[col] / df.shape[0]) * 100, col))
                toDrop_lst.append(col)
        return toDrop_lst
    else:
        toImpute_lst = []
        for col in df.columns:
            if mvs.loc[col] / df.shape[0] <= p:
                print("{:.2f}% of {} are missing values".format((df.isnull().sum().loc[col] / df.shape[0]) * 100, col))
                toImpute_lst.append(col)
        return toImpute_lst