code: def test_cummax(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,
          },
      )
      pkey = pd.Series([1, 1, 2, 3, 5, 8] * 3)
      psdf = ps.from_pandas(pdf)
      kkey = ps.from_pandas(pkey)
  
      self.assert_eq(
          psdf.groupby(kkey).cummax().sort_index(),
          pdf.groupby(pkey).cummax().sort_index(),
      )
      self.assert_eq(
          psdf.groupby(kkey)["a"].cummax().sort_index(),
          pdf.groupby(pkey)["a"].cummax().sort_index(),
      )
      self.assert_eq(
          psdf.groupby(kkey)[["a"]].cummax().sort_index(),
          pdf.groupby(pkey)[["a"]].cummax().sort_index(),
      )
  
file_path: spark/python/pyspark/pandas/tests/diff_frames_ops/test_groupby_cumulative.py
imports: import pandas
  from pyspark import pandas
  from pyspark.pandas.config import set_option, reset_option
  from pyspark.testing.pandasutils import PandasOnSparkTestCase
  from pyspark.testing.sqlutils import SQLTestUtils
label_desc: Use image node_id 5 for calling the GroupByCumulativeMixin obj's underlying member method code with example usage: obj.test_cummax() without return types