code: def do_detail_numeric(
      series: pd.Series,
      counts: dict,
      counts_compare: dict,
      updated_dict: dict,
  ):
      updated_dict["detail"] = dict()
      detail = updated_dict["detail"]
      total_num = float(updated_dict["base_stats"]["num_values"])
      num_to_show = config["Detail_Stats"].getint(
          "max_num_numeric_top_values"
      )
  
      detail["frequent_values"] = list()
      detail["min_values"] = list()
      detail["max_values"] = list()
      frequent_values = pd.DataFrame(
          counts["value_counts_without_nan"].head(num_to_show)
      )
      min_values = pd.DataFrame(
          counts["value_counts_without_nan"]
          .sort_index(ascending=True)
          .head(num_to_show)
      )
      max_values = pd.DataFrame(
          counts["value_counts_without_nan"].sort_index(ascending=False)
      ).head(num_to_show)
  
      if counts_compare is not None:
          this_compare_count = counts_compare[
              "value_counts_without_nan"
          ]
          compare_total_num = float(
              updated_dict["compare"]["base_stats"]["num_values"]
          )
      else:
          this_compare_count = None
      for frequent, min_value, max_value in zip(
          frequent_values.itertuples(),
          min_values.itertuples(),
          max_values.itertuples(),
      ):
  
          def get_comparison_num(feature_name):
              this_comparison = None
              if this_compare_count is not None:
                  try:
                      this_comparison = this_compare_count.get(
                          feature_name
                      )
                  except TypeError:
                      # Workaround for cases where source dataset has ints only, but compare has floats...
                      pass
                      # ...this was incorrect as it could have created false matches:
                      # if this_compare_count.index.dtype.name.find('int') != -1:
                      #     this_comparison = this_compare_count.get(np.int64(feature_name))
                      # else:
                      #     this_comparison = None
                  if this_comparison is not None:
                      this_comparison = NumWithPercent(
                          this_comparison, compare_total_num
                      )
                  else:
                      # If there is a comparison array but no matching value, insert 0
                      # ("none" is the absence of value)
                      this_comparison = NumWithPercent(
                          0, compare_total_num
                      )
              return this_comparison
  
          detail["frequent_values"].append(
              (
                  frequent[0],
                  NumWithPercent(frequent[1], total_num),
                  get_comparison_num(frequent[0]),
              )
          )
          detail["min_values"].append(
              (
                  min_value[0],
                  NumWithPercent(min_value[1], total_num),
                  get_comparison_num(min_value[0]),
              )
          )
          detail["max_values"].append(
              (
                  max_value[0],
                  NumWithPercent(max_value[1], total_num),
                  get_comparison_num(max_value[0]),
              )
          )
  
file_path: sweetviz/sweetviz/series_analyzer_numeric.py
imports: import numpy
  import pandas
  from sweetviz.graph_numeric import GraphNumeric
  import sweetviz.sv_html
  from sweetviz.sv_types import NumWithPercent, FeatureType, FeatureToProcess
  from sweetviz.config import config
label_desc: Use image node_id 2 for calling a global function with example usage: do_detail_numeric(series, counts, counts_compare, updated_dict) and returns: this_comparison