How do I …

How do I… Solution
add variables from other datasets to my dataset Dataset.merge()
add a new dimension and/or coordinate DataArray.expand_dims(), Dataset.expand_dims()
add a new coordinate variable DataArray.assign_coords()
change a data variable to a coordinate variable Dataset.set_coords()
change the order of dimensions DataArray.transpose(), Dataset.transpose()
remove a variable from my object Dataset.drop(), DataArray.drop()
remove dimensions of length 1 or 0 DataArray.squeeze(), Dataset.squeeze()
remove all variables with a particular dimension Dataset.drop_dims()
convert non-dimension coordinates to data variables or remove them DataArray.reset_coords(), Dataset.reset_coords()
rename a variable, dimension or coordinate Dataset.rename(), DataArray.rename(), Dataset.rename_vars(), Dataset.rename_dims(),
convert a DataArray to Dataset or vice versa DataArray.to_dataset(), Dataset.to_array()
extract the underlying array (e.g. numpy or Dask arrays) DataArray.data
convert to and extract the underlying numpy array DataArray.values
find out if my xarray object is wrapping a Dask Array dask.is_dask_collection()
know how much memory my object requires DataArray.nbytes, Dataset.nbytes
convert a possibly irregularly sampled timeseries to a regularly sampled timeseries DataArray.resample(), Dataset.resample() (see Resampling and grouped operations for more)
apply a function on all data variables in a Dataset Dataset.map()
write xarray objects with complex values to a netCDF file Dataset.to_netcdf(), DataArray.to_netcdf() specifying engine="h5netcdf", invalid_netcdf=True
make xarray objects look like other xarray objects ones_like(), zeros_like(), full_like(), Dataset.reindex_like(), Dataset.interpolate_like(), Dataset.broadcast_like(), DataArray.reindex_like(), DataArray.interpolate_like(), DataArray.broadcast_like()
replace NaNs with other values Dataset.fillna(), Dataset.ffill(), Dataset.bfill(), Dataset.interpolate_na(), DataArray.fillna(), DataArray.ffill(), DataArray.bfill(), DataArray.interpolate_na()
extract the year, month, day or similar from a DataArray of time values obj.dt.month for example where obj is a DataArray containing datetime64 or cftime values. See Datetime components for more.
round off time values to a specified frequency obj.dt.ceil, obj.dt.floor, obj.dt.round. See Datetime components for more.
make a mask that is True where an object contains any of the values in a array Dataset.isin(), DataArray.isin()