code: def test_reset_index_with_multiindex_columns(self):
      index = pd.MultiIndex.from_tuples(
          [
              ("bird", "falcon"),
              ("bird", "parrot"),
              ("mammal", "lion"),
              ("mammal", "monkey"),
          ],
          names=["class", "name"],
      )
      columns = pd.MultiIndex.from_tuples(
          [("speed", "max"), ("species", "type")]
      )
      pdf = pd.DataFrame(
          [
              (389.0, "fly"),
              (24.0, "fly"),
              (80.5, "run"),
              (np.nan, "jump"),
          ],
          index=index,
          columns=columns,
      )
      psdf = ps.from_pandas(pdf)
  
      self.assert_eq(psdf, pdf)
      self.assert_eq(psdf.reset_index(), pdf.reset_index())
      self.assert_eq(
          psdf.reset_index(level="class"),
          pdf.reset_index(level="class"),
      )
      self.assert_eq(
          psdf.reset_index(level="class", col_level=1),
          pdf.reset_index(level="class", col_level=1),
      )
      self.assert_eq(
          psdf.reset_index(
              level="class", col_level=1, col_fill="species"
          ),
          pdf.reset_index(
              level="class", col_level=1, col_fill="species"
          ),
      )
      self.assert_eq(
          psdf.reset_index(
              level="class", col_level=1, col_fill="genus"
          ),
          pdf.reset_index(level="class", col_level=1, col_fill="genus"),
      )
  
      with self.assertRaisesRegex(
          IndexError, "Index has only 2 levels, not 3"
      ):
          psdf.reset_index(col_level=2)
  
      pdf.index.names = [("x", "class"), ("y", "name")]
      psdf.index.names = [("x", "class"), ("y", "name")]
  
      self.assert_eq(psdf.reset_index(), pdf.reset_index())
  
      with self.assertRaisesRegex(
          ValueError, "Item must have length equal to number of levels."
      ):
          psdf.reset_index(col_level=1)
  
file_path: spark/python/pyspark/pandas/tests/indexes/test_reset_index.py
imports: import unittest
  import numpy
  import pandas
  from pyspark import pandas
  from pyspark.testing.pandasutils import ComparisonTestBase
  from pyspark.testing.sqlutils import SQLTestUtils
label_desc: Use image node_id 5 for calling the FrameResetIndexMixin obj's underlying member method code with example usage: obj.test_reset_index_with_multiindex_columns() without return types