code: def measure_categorical_dataframe(
      rows_count: int,
      columns_count: int = 200,
      unique_features_count: int = 1000,
  ) -> tp.Tuple[float, float]:
      unique_str_values: tp.List[str] = get_unique_random_strings(
          unique_features_count
      )
      assert len(set(unique_str_values)) == unique_features_count
  
      column_data: tp.Dict[str, tp.List[str]] = {}
      column_names: tp.List[str] = [
          "str_" + str(column_id) for column_id in range(columns_count)
      ]
      for column_id in range(columns_count):
          column_data[column_names[column_id]] = [
              unique_str_values[value_id]
              for value_id in np.random.randint(
                  unique_features_count, size=rows_count
              )
          ]
  
      frame = pd.DataFrame(column_data)
  
      return measure_pool_building_with_categorical_data(
          frame, column_names
      )
  
file_path: catboost/catboost/benchmarks/pool_creation_benchmark/benchmarks.py
imports: import numpy
  import typing
  import pandas
  from catboost import Pool
  from timeit import default_timer
label_desc: Use image node_id 7 for calling a global function with example usage: measure_categorical_dataframe(rows_count, columns_count, unique_features_count) and returns: measure_pool_building_with_categorical_data