code: def _predict_python_on_test(dataset, apply_catboost_model_function):
      features_data, cat_feature_indices = load_pool_features_as_df(
          data_file(dataset, "test_small"),
          data_file(dataset, "train.cd"),
      )
      float_feature_indices = [
          i
          for i in range(features_data.shape[1])
          if i not in cat_feature_indices
      ]
  
      pred_python = []
  
      for row_idx in range(features_data.shape[0]):
          # can't pass *_feature_indices to .iloc directly because it will lose the proper type
          float_features = [
              features_data.iloc[row_idx, col_idx]
              for col_idx in float_feature_indices
          ]
          cat_features = [
              features_data.iloc[row_idx, col_idx]
              for col_idx in cat_feature_indices
          ]
          pred_python.append(
              apply_catboost_model_function(
                  float_features, cat_features
              )
          )
  
      return pred_python
  
file_path: catboost/catboost/libs/model/model_export/ut/test.py
imports: import numpy
  import os
  import pytest
  import re
  import yatest
  from catboost import Pool, CatBoost, CatBoostClassifier
  from catboost_pytest_lib import data_file, load_pool_features_as_df
label_desc: Use image node_id 8 for calling a global function with example usage: _predict_python_on_test(dataset, apply_catboost_model_function) and returns: pred_python