code: def python_random_split(data, ratio=0.75, seed=42):
      """Pandas random splitter.
  
      The splitter randomly splits the input data.
  
      Args:
          data (pandas.DataFrame): Pandas DataFrame to be split.
          ratio (float or list): Ratio for splitting data. If it is a single float number
              it splits data into two halves and the ratio argument indicates the ratio
              of training data set; if it is a list of float numbers, the splitter splits
              data into several portions corresponding to the split ratios. If a list is
              provided and the ratios are not summed to 1, they will be normalized.
          seed (int): Seed.
  
      Returns:
          list: Splits of the input data as pandas.DataFrame.
      """
      multi_split, ratio = process_split_ratio(ratio)
  
      if multi_split:
          splits = split_pandas_data_with_ratios(
              data, ratio, shuffle=True, seed=seed
          )
          splits_new = [x.drop("split_index", axis=1) for x in splits]
  
          return splits_new
      else:
          return sk_split(
              data, test_size=None, train_size=ratio, random_state=seed
          )
  
file_path: recommenders/recommenders/datasets/python_splitters.py
imports: import numpy
  import pandas
  from sklearn.model_selection import train_test_split
  from recommenders.utils.constants import DEFAULT_ITEM_COL, DEFAULT_USER_COL, DEFAULT_TIMESTAMP_COL
  from recommenders.datasets.split_utils import process_split_ratio, min_rating_filter_pandas, split_pandas_data_with_ratios
label_desc: Use image node_id 1 for calling a global function with example usage: python_random_split(data, ratio, seed) and returns: splits_new, sk_split