<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_pandas(cls, df):
 """Create baloo DataFrame from pandas DataFrame. Parameters df : pandas.frame.DataFrame Returns ------- DataFrame """

        from pandas import DataFrame as PandasDataFrame, Index as PandasIndex, MultiIndex as PandasMultiIndex

        check_type(df, PandasDataFrame)

        if isinstance(df.index, PandasIndex):
            baloo_index = Index.from_pandas(df.index)
        elif isinstance(df.index, PandasMultiIndex):
            baloo_index = MultiIndex.from_pandas(df.index)
        else:
            raise TypeError('Cannot convert pandas index of type={} to baloo'.format(type(df.index)))

        baloo_data = OrderedDict((column_name, _series_from_pandas(df[column_name], baloo_index))
                                 for column_name in df)

        return DataFrame(baloo_data, baloo_index)