code: def test_cummin(self):
      pdf = pd.DataFrame(
          {
              "a": [1, 2, 3, 4, 5, 6] * 3,
              "b": [1, 1, 2, 3, 5, 8] * 3,
              "c": [1, 4, 9, 16, 25, 36] * 3,
          },
          index=np.random.rand(6 * 3),
      )
      psdf = ps.from_pandas(pdf)
  
      self.assert_eq(
          psdf.groupby("b").cummin().sort_index(),
          pdf.groupby("b").cummin().sort_index(),
      )
      self.assert_eq(
          psdf.groupby(["a", "b"]).cummin().sort_index(),
          pdf.groupby(["a", "b"]).cummin().sort_index(),
      )
      self.assert_eq(
          psdf.groupby(["b"])["a"].cummin().sort_index(),
          pdf.groupby(["b"])["a"].cummin().sort_index(),
      )
      self.assert_eq(
          psdf.groupby(["b"])[["a", "c"]].cummin().sort_index(),
          pdf.groupby(["b"])[["a", "c"]].cummin().sort_index(),
      )
      self.assert_eq(
          psdf.groupby(psdf.b // 5).cummin().sort_index(),
          pdf.groupby(pdf.b // 5).cummin().sort_index(),
      )
      self.assert_eq(
          psdf.groupby(psdf.b // 5)["a"].cummin().sort_index(),
          pdf.groupby(pdf.b // 5)["a"].cummin().sort_index(),
      )
      self.assert_eq(
          psdf.groupby("b").cummin().sum().sort_index(),
          pdf.groupby("b").cummin().sum().sort_index(),
      )
      self.assert_eq(
          psdf.a.rename().groupby(psdf.b).cummin().sort_index(),
          pdf.a.rename().groupby(pdf.b).cummin().sort_index(),
      )
      self.assert_eq(
          psdf.a.groupby(psdf.b.rename()).cummin().sort_index(),
          pdf.a.groupby(pdf.b.rename()).cummin().sort_index(),
      )
      self.assert_eq(
          psdf.a.rename()
          .groupby(psdf.b.rename())
          .cummin()
          .sort_index(),
          pdf.a.rename().groupby(pdf.b.rename()).cummin().sort_index(),
      )
  
      # multi-index columns
      columns = pd.MultiIndex.from_tuples(
          [("x", "a"), ("x", "b"), ("y", "c")]
      )
      pdf.columns = columns
      psdf.columns = columns
  
      self.assert_eq(
          psdf.groupby(("x", "b")).cummin().sort_index(),
          pdf.groupby(("x", "b")).cummin().sort_index(),
      )
      self.assert_eq(
          psdf.groupby([("x", "a"), ("x", "b")]).cummin().sort_index(),
          pdf.groupby([("x", "a"), ("x", "b")]).cummin().sort_index(),
      )
  
      psdf = ps.DataFrame([["a"], ["b"], ["c"]], columns=["A"])
      self.assertRaises(DataError, lambda: psdf.groupby(["A"]).cummin())
      psdf = ps.DataFrame(
          [[1, "a"], [2, "b"], [3, "c"]], columns=["A", "B"]
      )
      self.assertRaises(
          DataError, lambda: psdf.groupby(["A"])["B"].cummin()
      )
  
file_path: spark/python/pyspark/pandas/tests/groupby/test_cumulative.py
imports: import unittest
  import numpy
  import pandas
  from pyspark import pandas
  from pyspark.pandas.exceptions import DataError
  from pyspark.testing.pandasutils import ComparisonTestBase
  from pyspark.testing.sqlutils import SQLTestUtils
label_desc: Use image node_id 2 for calling the GroupbyCumulativeMixin obj's underlying member method code with example usage: obj.test_cummin() without return types