code: def test_pivot_table_dtypes(self):
      pdf = pd.DataFrame(
          {
              "a": [4, 2, 3, 4, 8, 6],
              "b": [1, 2, 2, 4, 2, 4],
              "e": [1, 2, 2, 4, 2, 4],
              "c": [1, 2, 9, 4, 7, 4],
          },
          index=np.random.rand(6),
      )
      psdf = ps.from_pandas(pdf)
  
      # Skip columns comparison by reset_index
      res_df = psdf.pivot_table(
          index=["c"], columns="a", values=["b"], aggfunc={"b": "mean"}
      ).dtypes.reset_index(drop=True)
      exp_df = pdf.pivot_table(
          index=["c"], columns="a", values=["b"], aggfunc={"b": "mean"}
      ).dtypes.reset_index(drop=True)
      self.assert_eq(res_df, exp_df)
  
file_path: spark/python/pyspark/pandas/tests/computation/test_pivot.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 1 for calling the FramePivotMixin obj's underlying member method code with example usage: obj.test_pivot_table_dtypes() without return types