code: def test_split_distinct(col, expected_index):
      """Test the cut off for different data types.
  
      For columns B, C and time we have 6 distinct values, 5 appearing 20 times and
      1 appearing 100 times. A 50% split based on the number of values will result
      in 2 groups of 3. One has 60 appearances (in total) and the other has 140.
      """
      data = pd.DataFrame(
          {
              "A": [it for it in range(0, 200)],
              "B": [1, 2, 3, 4, 5, 6, 6, 6, 6, 6] * 20,
              "C": ["A", "B", "C", "D", "E", "F", "F", "F", "F", "F"]
              * 20,
              "time": [date(2019, 1, it + 1) for it in range(5)] * 20
              + [date(2019, 1, 31)] * 100,
          }
      )
      test = DropHighPSIFeatures(split_col=col, split_distinct=True)
      a, b = test._split_dataframe(data)
  
      pd.testing.assert_frame_equal(a, data.loc[expected_index])
      pd.testing.assert_frame_equal(
          b, data.loc[~data.index.isin(expected_index)]
      )
  
imports: from datetime import date
  import math
  import numpy
  import pandas
  import pytest
  from sklearn.datasets import make_classification
  from feature_engine.selection import DropHighPSIFeatures
label_desc: Use image node_id 19 for calling a global function with example usage: test_split_distinct(col, expected_index) without return types