code: def MI():
      """MultiIndex fixture. Adapted from Pandas MultiIndexing docs"""
  
      def mklbl(prefix, n):
          return ["%s%s" % (prefix, i) for i in range(n)]
  
      miindex = pd.MultiIndex.from_product(
          [mklbl("A", 1), mklbl("B", 2), mklbl("C", 1), mklbl("D", 2)]
      )
  
      micolumns = pd.MultiIndex.from_tuples(
          [("a", "foo"), ("a", "bar"), ("b", "foo"), ("b", "bah")],
          names=["lvl0", "lvl1"],
      )
  
      dfmi = (
          pd.DataFrame(
              np.arange(len(miindex) * len(micolumns)).reshape(
                  (len(miindex), len(micolumns))
              ),
              index=miindex,
              columns=micolumns,
          )
          .sort_index()
          .sort_index(axis=1)
      )
  
      return dfmi
  
imports: from string import ascii_lowercase
  import numpy
  import pandas
  import pytest
  from hypothesis import given, settings
  from pandas.testing import assert_frame_equal
  from janitor.testing_utils.strategies import categoricaldf_strategy
label_desc: Use image node_id 1 for calling a global function with example usage: MI() and returns: dfmi, unknown