code: def setup_ordinal_data(self, parent):
      if self.ordinal_agg == "pctsum":
          return pctsum_updates(
              parent.data, parent.selected_col, self.ordinal_col
          )
  
      ordinal_data = getattr(
          parent.data.groupby(parent.selected_col)[[self.ordinal_col]],
          self.ordinal_agg,
      )()
      ordinal_code = [
          "ordinal_data = df.groupby('{col}')[['{ordinal}']].{agg}()".format(
              col=parent.selected_col,
              ordinal=self.ordinal_col,
              agg=self.ordinal_agg,
          )
      ]
      return ordinal_data, ordinal_code
  
imports: import numpy
  import pandas
  import plotly.express
  import plotly.graph_objs
  import pprint
  import scipy.stats
  import time
  import dtale.global_state
  import dtale.pandas_util
  from dtale.code_export import build_code_export, build_final_chart_code
  from dtale.column_builders import clean, clean_code
  from dtale.describe import load_describe
  from dtale.query import build_query, load_filterable_data
  from dtale.utils import apply, classify_type, find_dtype, find_dtype_formatter, find_selected_column, get_bool_arg, get_int_arg, get_str_arg, grid_columns, grid_formatter, json_float, json_timestamp, make_list
label_desc: Use image node_id 3 for calling the ValueCountAnalysis obj's underlying member method code with example usage: obj.setup_ordinal_data(parent) and returns: ordinal_data,  ordinal_code, pctsum_updates