code: def make_labels_and_names(X):
      if isinstance(X, pd.DataFrame):
          row_label = X.index.name if X.index.name else "Rows"
          row_names = X.index.tolist()
          col_label = X.columns.name if X.columns.name else "Columns"
          col_names = X.columns.tolist()
      else:
          row_label = "Rows"
          row_names = list(range(X.shape[0]))
          col_label = "Columns"
          col_names = list(range(X.shape[1]))
  
      return row_label, row_names, col_label, col_names
  
file_path: prince/prince/utils.py
imports: from __future__ import annotations
  import functools
  import altair
  import numpy
  import pandas
  from sklearn.utils import validation
label_desc: Use image node_id 3 for calling a global function with example usage: make_labels_and_names(X) and returns: row_label,  row_names,  col_label,  col_names