code: def as_categorical(self):
          
          if len(self.shape) > 1:
              raise ValueError("Can't convert a 2D array to a categorical.")
  
          with ignore_pandas_nan_categorical_warning():
              return pd.Categorical.from_codes(
                  self.as_int_array(),
                  # We need to make a copy because pandas >= 0.17 fails if this
                  # buffer isn't writeable.
                  self.categories.copy(),
                  ordered=False,
              )
docs: Coerce self into a pandas categorical.
  
          This is only defined on 1D arrays, since that's all pandas supports.