<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def modelComparisonDataFrame(modelcomparisonfile, splitparams):
 """Converts ``modelcomparison.md`` file to `pandas` DataFrame. Running ``phydms_comprehensive`` creates a file with the suffix ``modelcomparison.md``. This function converts that file into a DataFrame that is easy to handle for downstream analysis. Args: `modelcomparisonfile` (str) The name of the ``modelcomparison.md`` file. `splitparams` (bool) If `True`, create a new column for each model param in the `ParamValues` column, with values of `NaN` if that model does not have such a parameter. Returns: A `pandas` DataFrame with the information in the model comparison file. True True """

    df = (pandas.read_csv(modelcomparisonfile, sep='|', skiprows=[1])
            .select(lambda x: 'Unnamed' not in x, axis=1)
            )

    # strip whitespace
    df.columns = df.columns.str.strip()
    for col in df.columns:
        if pandas.api.types.is_string_dtype(df[col]):
            df[col] = df[col].str.strip()

    paramsdict = {}
    if splitparams:
        for (i, paramstr) in df['ParamValues'].iteritems():
            paramsdict[i] = dict(map(lambda tup: (tup[0], float(tup[1])),
                    [param.strip().split('=') for param in paramstr.split(',')]))
        params_df = pandas.DataFrame.from_dict(paramsdict, orient='index')
        params_df = params_df[sorted(params_df.columns)]
        df = (df.join(params_df)
                .drop('ParamValues', axis=1)
                )

    return df