code: def _get_names(arrs, names, prefix="row"):
      if names is None:
          names = []
          for i, arr in enumerate(arrs):
              if isinstance(arr, ABCSeries) and arr.name is not None:
                  names.append(arr.name)
              else:
                  names.append(
                      "{prefix}_{i}".format(prefix=prefix, i=i)
                  )
      else:
          if len(names) != len(arrs):
              raise AssertionError(
                  "arrays and names must have the same length"
              )
          if not isinstance(names, list):
              names = list(names)
  
      return names
  
imports: import numpy
  from pandas.compat import lrange, range, zip
  from pandas.util._decorators import Appender, Substitution
  from pandas.core.dtypes.cast import maybe_downcast_to_dtype
  from pandas.core.dtypes.common import is_integer_dtype, is_list_like, is_scalar
  from pandas.core.dtypes.generic import ABCDataFrame, ABCSeries
  from pandas import compat
  import pandas.core.common
  from pandas.core.frame import _shared_docs
  from pandas.core.groupby import Grouper
  from pandas.core.index import Index, MultiIndex, _get_objs_combined_axis
  from pandas.core.reshape.concat import concat
  from pandas.core.reshape.util import cartesian_product
  from pandas.core.series import Series
label_desc: Use image node_id 10 for calling a global function with example usage: _get_names(arrs, names, prefix) and returns: names