parameters: (
      data: np.ndarray,  # floating dtype
      index: Index,
      axis: int,
      method: str = "linear",
      limit: int | None = None,
      limit_direction: str = "forward",
      limit_area: str | None = None,
      fill_value: Any | None = None,
      **kwargs,
  )
return_statement: return np.apply_along_axis(func, axis, data)
docstring: Column-wise application of interpolate_1d.
  
      Notes
      -----
      The signature does differs from interpolate_1d because it only
      includes what is needed for Block.interpolate.
docstring_summary: Column-wise application of interpolate_1d.
docstring_tokens: Column - wise application of interpolate_1d .
function: def interpolate_2d_with_fill(
      data: np.ndarray,  # floating dtype
      index: Index,
      axis: int,
      method: str = "linear",
      limit: int | None = None,
      limit_direction: str = "forward",
      limit_area: str | None = None,
      fill_value: Any | None = None,
      **kwargs,
  ) -> np.ndarray:
      """
      Column-wise application of interpolate_1d.
  
      Notes
      -----
      The signature does differs from interpolate_1d because it only
      includes what is needed for Block.interpolate.
      """
      # validate the interp method
      clean_interp_method(method, index, **kwargs)
  
      if is_valid_na_for_dtype(fill_value, data.dtype):
          fill_value = na_value_for_dtype(data.dtype, compat=False)
  
      def func(yvalues: np.ndarray) -> np.ndarray:
          # process 1-d slices in the axis direction, returning it
  
          # should the axis argument be handled below in apply_along_axis?
          # i.e. not an arg to interpolate_1d
          return interpolate_1d(
              xvalues=index,
              yvalues=yvalues,
              method=method,
              limit=limit,
              limit_direction=limit_direction,
              limit_area=limit_area,
              fill_value=fill_value,
              bounds_error=False,
              **kwargs,
          )
  
      # interp each column independently
      return np.apply_along_axis(func, axis, data)
function_tokens: def interpolate_2d_with_fill ( data : np . ndarray , # floating dtype index : Index , axis : int , method : str = "linear" , limit : int | None = None , limit_direction : str = "forward" , limit_area : str | None = None , fill_value : Any | None = None , * * kwargs , ) -> np . ndarray : # validate the interp method clean_interp_method ( method , index , * * kwargs ) if is_valid_na_for_dtype ( fill_value , data . dtype ) : fill_value = na_value_for_dtype ( data . dtype , compat = False ) def func ( yvalues : np . ndarray ) -> np . ndarray : # process 1-d slices in the axis direction, returning it # should the axis argument be handled below in apply_along_axis? # i.e. not an arg to interpolate_1d return interpolate_1d ( xvalues = index , yvalues = yvalues , method = method , limit = limit , limit_direction = limit_direction , limit_area = limit_area , fill_value = fill_value , bounds_error = False , * * kwargs , ) # interp each column independently return np . apply_along_axis ( func , axis , data )