code: def _isna_ndarraylike(obj):
      is_extension = is_extension_array_dtype(obj)
  
      if not is_extension:
          # Avoid accessing `.values` on things like
          # PeriodIndex, which may be expensive.
          values = getattr(obj, "values", obj)
      else:
          values = obj
  
      dtype = values.dtype
  
      if is_extension:
          if isinstance(obj, (ABCIndexClass, ABCSeries)):
              values = obj._values
          else:
              values = obj
          result = values.isna()
      elif isinstance(obj, ABCDatetimeArray):
          return obj.isna()
      elif is_string_dtype(dtype):
          # Working around NumPy ticket 1542
          shape = values.shape
  
          if is_string_like_dtype(dtype):
              # object array of strings
              result = np.zeros(values.shape, dtype=bool)
          else:
              # object array of non-strings
              result = np.empty(shape, dtype=bool)
              vec = libmissing.isnaobj(values.ravel())
              result[...] = vec.reshape(shape)
  
      elif needs_i8_conversion(dtype):
          # this is the NaT pattern
          result = values.view("i8") == iNaT
      else:
          result = np.isnan(values)
  
      # box
      if isinstance(obj, ABCSeries):
          from pandas import Series
  
          result = Series(
              result, index=obj.index, name=obj.name, copy=False
          )
  
      return result
  
file_path: catboost/contrib/python/pandas/py2/pandas/core/dtypes/missing.py
imports: import numpy
  from pandas._libs import lib, missing
  from pandas._libs.tslibs import NaT, iNaT
  from .common import _NS_DTYPE, _TD_DTYPE, ensure_object, is_bool_dtype, is_complex_dtype, is_datetime64_dtype, is_datetime64tz_dtype, is_datetimelike, is_datetimelike_v_numeric, is_dtype_equal, is_extension_array_dtype, is_float_dtype, is_integer_dtype, is_object_dtype, is_period_dtype, is_scalar, is_string_dtype, is_string_like_dtype, is_timedelta64_dtype, needs_i8_conversion, pandas_dtype
  from .generic import ABCDatetimeArray, ABCExtensionArray, ABCGeneric, ABCIndexClass, ABCMultiIndex, ABCSeries, ABCTimedeltaArray
  from .inference import is_list_like
label_desc: Use image node_id 5 for calling a global function with example usage: _isna_ndarraylike(obj) and returns: result, obj