code: def _linear_interpolation(column, index=None):
      """
      Interpolate over a float column. Implicitly assumes that values are
      evenly spaced with respect to the x-axis, for example the data
      [1.0, NaN, 3.0] will be interpolated assuming the NaN is half way
      between the two valid values, yielding [1.0, 2.0, 3.0]
      """
  
      index = RangeIndex(start=0, stop=len(column), step=1)
      return _index_or_values_interpolation(column, index=index)
  
file_path: cudf/python/cudf/cudf/core/algorithms.py
imports: import warnings
  import cupy
  import numpy
  from cudf.core.column import as_column
  from cudf.core.copy_types import BooleanMask
  from cudf.core.index import RangeIndex, as_index
  from cudf.core.indexed_frame import IndexedFrame
  from cudf.core.scalar import Scalar
  from cudf.options import get_option
  from cudf.utils.dtypes import can_convert_to_column
label_desc: Use image node_id 2 for calling a global function with example usage: _linear_interpolation(column, index) and returns: _index_or_values_interpolation