code: def get_evenly_spaced_changepoints_values(
      df,
      continuous_time_col=cst.TimeFeaturesEnum.ct1.value,
      n_changepoints=2,
  ):
      """Partitions interval into n_changepoints + 1 segments,
          placing a changepoint at left endpoint of each segment.
          The left most segment doesn't get a changepoint.
          Changepoints should be determined from training data.
  
      :param df: pd.DataFrame
          training dataset. contains continuous_time_col
      :param continuous_time_col: str
          name of continuous time column (e.g. conti_year, ct1)
      :param n_changepoints: int
          number of changepoints requested
      :return: np.array
          values of df[continuous_time_col] at the changepoints
      """
      if not n_changepoints > 0:
          raise ValueError("n_changepoints must be > 0")
  
      n = df.shape[0]
      n_steps = n_changepoints + 1
      step_size = n / n_steps
      indices = np.floor(np.arange(start=1, stop=n_steps) * step_size)
      return df[continuous_time_col][indices].values
  
imports: import math
  from datetime import datetime
  from datetime import timedelta
  import numpy
  import pandas
  import pytz
  from holidays_ext import get_holidays
  from pandas.tseries.frequencies import to_offset
  from scipy.special import expit
  from greykite.common import constants
  from greykite.common.python_utils import split_offset_str
label_desc: Use image node_id 17 for calling a global function with example usage: get_evenly_spaced_changepoints_values(df, continuous_time_col, n_changepoints) and returns: df