def evaluations_to_columns(evaluation):
    """Convert the results of :meth:`metrics.ScoringMixIn.evaluate` to a pandas DataFrame-ready format

    Parameters
    ----------
    evaluation: dict of OrderedDicts
        The result of consecutive calls to :meth:`metrics.ScoringMixIn.evaluate` for all given dataset types

    Returns
    -------
    column_metrics: list of pairs
        A pair for each data_type-metric combination, where the first item is the key, and the second is the metric value

    Examples
    --------
    >>> evaluations_to_columns({
    ...     'in_fold': None,
    ...     'holdout': OrderedDict([('roc_auc_score', 0.9856), ('f1_score', 0.9768)]),
    ...     'oof': OrderedDict([('roc_auc_score', 0.9634)])
    ... })
    [['oof_roc_auc_score', 0.9634], ['holdout_roc_auc_score', 0.9856], ['holdout_f1_score', 0.9768]]
    """
    data_types = ['oof', 'holdout', 'in_fold']
    column_metrics = []

    for data_type in data_types:
        if evaluation[data_type] is not None:
            for metric_key, metric_value in evaluation[data_type].items():
                column_metrics.append([
                    F'{data_type}_{metric_key}', metric_value
                ])

    return column_metrics