class_docstr: A pandas ExtensionArray for NumPy data.
  
  This is mostly for internal compatibility, and is not especially
  useful on its own.
  
  Parameters
  ----------
  values : ndarray
      The NumPy ndarray to wrap. Must be 1-dimensional.
  copy : bool, default False
      Whether to copy `values`.
  
  Attributes
  ----------
  None
  
  Methods
  -------
  None
class_docstr_tok: ["A","pandas","ExtensionArray","for","NumPy","data",".","This","is","mostly","for","internal","compatibility",",","and","is","not","especially","useful","on","its","own",".","Parameters","--","--","--","--","--","values",":","ndarray","The","NumPy","ndarray","to","wrap",".","Must","be","1-dimensional",".","copy",":","bool",",","default","False","Whether","to","copy","`","values","`",".","Attributes","--","--","--","--","--","None","Methods","--","--","--","-","None"]
code: def _cmp_method(self, other, op):
      if isinstance(other, PandasArray):
          other = other._ndarray
  
      other = ops.maybe_prepare_scalar_for_op(other, (len(self),))
      pd_op = ops.get_array_op(op)
      other = ensure_wrapped_if_datetimelike(other)
      with np.errstate(all="ignore"):
          result = pd_op(self._ndarray, other)
  
      if op is divmod or op is ops.rdivmod:
          a, b = result
          if isinstance(a, np.ndarray):
              # for e.g. op vs TimedeltaArray, we may already
              #  have an ExtensionArray, in which case we do not wrap
              return self._wrap_ndarray_result(
                  a
              ), self._wrap_ndarray_result(b)
          return a, b
  
      if isinstance(result, np.ndarray):
          # for e.g. multiplication vs TimedeltaArray, we may already
          #  have an ExtensionArray, in which case we do not wrap
          return self._wrap_ndarray_result(result)
      return result
  
imports: from __future__ import annotations
  import numpy
  from pandas._libs import lib
  from pandas._libs.tslibs import get_unit_from_dtype, is_supported_unit
  from pandas._typing import AxisInt, Dtype, NpDtype, Scalar, npt
  from pandas.compat.numpy import function
  from pandas.core.dtypes.astype import astype_array
  from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike
  from pandas.core.dtypes.common import is_dtype_equal, pandas_dtype
  from pandas.core.dtypes.dtypes import PandasDtype
  from pandas.core.dtypes.missing import isna
  from pandas.core import arraylike, nanops, ops
  from pandas.core.arraylike import OpsMixin
  from pandas.core.arrays._mixins import NDArrayBackedExtensionArray
  from pandas.core.construction import ensure_wrapped_if_datetimelike
  from pandas.core.strings.object_array import ObjectStringArrayMixin
label_desc: Use image node_id 29 for calling the PandasArray obj's underlying member method code with example usage: obj._cmp_method(other, op) and returns: result, a,  b, self, self,  self