code: def equals(self, other):
          
          if self.is_(other):
              return True
  
          if not isinstance(other, ABCIndexClass):
              return False
          elif not isinstance(other, type(self)):
              try:
                  other = type(self)(other)
              except Exception:
                  return False
  
          if not is_dtype_equal(self.dtype, other.dtype):
              # have different timezone
              return False
  
          elif is_period_dtype(self):
              if not is_period_dtype(other):
                  return False
              if self.freq != other.freq:
                  return False
  
          return np.array_equal(self.asi8, other.asi8)
docs: Determines if two Index objects contain the same elements.