code: def fill_null(values, fill_value):
      """Replace each null element in values with a corresponding
      element from fill_value.
  
      If fill_value is scalar-like, then every null element in values
      will be replaced with fill_value. If fill_value is array-like,
      then the i-th element in values will be replaced with the i-th
      element in fill_value.
  
      The fill_value's type must be the same as that of values, or it
      must be able to be implicitly casted to the array's type.
  
      This is an alias for :func:`coalesce`.
  
      Parameters
      ----------
      values : Array, ChunkedArray, or Scalar-like object
          Each null element is replaced with the corresponding value
          from fill_value.
      fill_value : Array, ChunkedArray, or Scalar-like object
          If not same type as values, will attempt to cast.
  
      Returns
      -------
      result : depends on inputs
          Values with all null elements replaced
  
      Examples
      --------
      >>> import pyarrow as pa
      >>> arr = pa.array([1, 2, None, 3], type=pa.int8())
      >>> fill_value = pa.scalar(5, type=pa.int8())
      >>> arr.fill_null(fill_value)
      <pyarrow.lib.Int8Array object at ...>
      [
        1,
        2,
        5,
        3
      ]
      >>> arr = pa.array([1, 2, None, 4, None])
      >>> arr.fill_null(pa.array([10, 20, 30, 40, 50]))
      <pyarrow.lib.Int64Array object at ...>
      [
        1,
        2,
        30,
        4,
        50
      ]
      """
      if not isinstance(
          fill_value, (pa.Array, pa.ChunkedArray, pa.Scalar)
      ):
          fill_value = pa.scalar(fill_value, type=values.type)
      elif values.type != fill_value.type:
          fill_value = pa.scalar(fill_value.as_py(), type=values.type)
  
      return call_function("coalesce", [values, fill_value])
  
imports: from pyarrow._compute import Function, FunctionOptions, FunctionRegistry, HashAggregateFunction, HashAggregateKernel, Kernel, ScalarAggregateFunction, ScalarAggregateKernel, ScalarFunction, ScalarKernel, VectorFunction, VectorKernel, ArraySortOptions, AssumeTimezoneOptions, CastOptions, CountOptions, CumulativeOptions, CumulativeSumOptions, DayOfWeekOptions, DictionaryEncodeOptions, RunEndEncodeOptions, ElementWiseAggregateOptions, ExtractRegexOptions, FilterOptions, IndexOptions, JoinOptions, ListSliceOptions, MakeStructOptions, MapLookupOptions, MatchSubstringOptions, ModeOptions, NullOptions, PadOptions, PairwiseOptions, PartitionNthOptions, QuantileOptions, RandomOptions, RankOptions, ReplaceSliceOptions, ReplaceSubstringOptions, RoundBinaryOptions, RoundOptions, RoundTemporalOptions, RoundToMultipleOptions, ScalarAggregateOptions, SelectKOptions, SetLookupOptions, SliceOptions, SortOptions, SplitOptions, SplitPatternOptions, StrftimeOptions, StrptimeOptions, StructFieldOptions, TakeOptions, TDigestOptions, TrimOptions, Utf8NormalizeOptions, VarianceOptions, WeekOptions, call_function, function_registry, get_function, list_functions, call_tabular_function, register_scalar_function, register_tabular_function, register_aggregate_function, register_vector_function, UdfContext, Expression
  from collections import namedtuple
  import inspect
  from textwrap import dedent
  import warnings
  import pyarrow
  from pyarrow import _compute_docstrings
  from pyarrow.vendored import docscrape
label_desc: Use image node_id 13 for calling a global function with example usage: fill_null(values, fill_value) and returns: call_function