code: def pchip_interpolate(xi, yi, x, der=0, axis=0):
      """
      Convenience function for pchip interpolation.
  
      xi and yi are arrays of values used to approximate some function f,
      with ``yi = f(xi)``. The interpolant uses monotonic cubic splines
      to find the value of new points x and the derivatives there.
      See `scipy.interpolate.PchipInterpolator` for details.
  
      Parameters
      ----------
      xi : array_like
          A sorted list of x-coordinates, of length N.
      yi : array_like
          A 1-D array of real values. `yi`'s length along the interpolation
          axis must be equal to the length of `xi`. If N-D array, use axis
          parameter to select correct axis.
      x : scalar or array_like
          Of length M.
      der : int or list, optional
          Derivatives to extract. The 0th derivative can be included to
          return the function value.
      axis : int, optional
          Axis in the yi array corresponding to the x-coordinate values.
  
      See Also
      --------
      PchipInterpolator : PCHIP 1-D monotonic cubic interpolator.
  
      Returns
      -------
      y : scalar or array_like
          The result, of length R or length M or M by R.
      """
      P = PchipInterpolator(xi, yi, axis=axis)
  
      if der == 0:
          return P(x)
      elif _isscalar(der):
          return P.derivative(der)(x)
      else:
          return [P.derivative(nu)(x) for nu in der]
  
file_path: cupy/cupyx/scipy/interpolate/_cubic.py
imports: import cupy
  from cupyx.scipy.interpolate._interpolate import PPoly
label_desc: Use image node_id 3 for calling a global function with example usage: pchip_interpolate(xi, yi, x, der, axis) and returns: P, P, unknown