docs: def rename(self, new_name_or_name_dict=None, **names):
          """Returns a new DataArray with renamed coordinates or a new name.
  
          Parameters
          ----------
          new_name_or_name_dict : str or dict-like, optional
              If the argument is dict-like, it it used as a mapping from old
              names to new names for coordinates. Otherwise, use the argument
              as the new name for this array.
          **names, optional
              The keyword arguments form of a mapping from old names to
              new names for coordinates.
              One of new_name_or_name_dict or names must be provided.
  
  
          Returns
          -------
          renamed : DataArray
              Renamed array or array with renamed coordinates.
  
          See Also
          --------
          Dataset.rename
          DataArray.swap_dims
          """
          if names or utils.is_dict_like(new_name_or_name_dict):
              name_dict = either_dict_or_kwargs(
                  new_name_or_name_dict, names, 'rename')
              dataset = self._to_temp_dataset().rename(name_dict)
              return self._from_temp_dataset(dataset)
          else:
              return self._replace(name=new_name_or_name_dict)