# xarray.Dataset.assign

`Dataset.``assign`(**kwargs)

  Assign new data variables to a Dataset, returning a new object with all the original variables in addition to the new ones.

  Parameters:

  kwargs : keyword, value pairs

  > keywords are the variables names. If the values are callable, they are computed on the Dataset and assigned to new data variables. If the values are not callable, (e.g. a DataArray, scalar, or array), they are simply assigned.

  Returns:

  ds : Dataset

  > A new Dataset with the new variables in addition to all the existing variables.

  See also

  `pandas.DataFrame.assign`

  Notes

  Since `kwargs` is a dictionary, the order of your arguments may not be preserved, and so the order of the new variables is not well defined. Assigning multiple variables within the same `assign` is possible, but you cannot reference other variables created within the same `assign` call.