# xarray.core.groupby.DataArrayGroupBy

class `xarray.core.groupby.``DataArrayGroupBy`(obj, group, squeeze=False, grouper=None, bins=None, restore_coord_dims=None, cut_kwargs={})

  GroupBy object specialized to grouping DataArray objects

  `__init__`(obj, group, squeeze=False, grouper=None, bins=None, restore_coord_dims=None, cut_kwargs={})

    Create a GroupBy object

    Parameters:

    - obj (Dataset or DataArray) – Object to group.
    - group (DataArray) – Array with the group values.
    - squeeze (boolean, optional) – If “group” is a coordinate of object, squeeze controls whether the subarrays have a dimension of length 1 along that coordinate or if the dimension is squeezed out.
    - grouper (pd.Grouper, optional) – Used for grouping values along the group array.
    - bins (array-like, optional) – If bins is specified, the groups will be discretized into the specified bins by pandas.cut.
    - restore_coord_dims (bool, optional) – If True, also restore the dimension order of multi-dimensional coordinates.
    - cut_kwargs (dict, optional) – Extra keyword arguments to pass to pandas.cut

  Methods

  `__init__`(obj, group[, squeeze, grouper, …]) | Create a GroupBy object
  `all`([dim, axis]) | Reduce this DataArrayGroupBy’s data by applying all along some dimension(s).
  `any`([dim, axis]) | Reduce this DataArrayGroupBy’s data by applying any along some dimension(s).
  `apply`(func[, shortcut, args]) | Backward compatible implementation of `map`
  `argmax`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying argmax along some dimension(s).
  `argmin`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying argmin along some dimension(s).
  `assign_coords`([coords]) | Assign coordinates by group.
  `count`([dim, axis]) | Reduce this DataArrayGroupBy’s data by applying count along some dimension(s).
  `fillna`(value) | Fill missing values in this object by group.
  `first`([skipna, keep_attrs]) | Return the first element of each group along the group dimension
  `last`([skipna, keep_attrs]) | Return the last element of each group along the group dimension
  `map`(func[, shortcut, args]) | Apply a function to each array in the group and concatenate them together into a new array.
  `max`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying max along some dimension(s).
  `mean`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying mean along some dimension(s).
  `median`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying median along some dimension(s).
  `min`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying min along some dimension(s).
  `prod`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying prod along some dimension(s).
  `quantile`(q[, dim, interpolation, keep_attrs]) | Compute the qth quantile over each array in the groups and concatenate them together into a new array.
  `reduce`(func[, dim, axis, keep_attrs, shortcut]) | Reduce the items in this group by applying func along some dimension(s).
  `std`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying std along some dimension(s).
  `sum`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying sum along some dimension(s).
  `var`([dim, axis, skipna]) | Reduce this DataArrayGroupBy’s data by applying var along some dimension(s).
  `where`(cond[, other]) | Return elements from self or other depending on cond.

  Attributes

  `dims` |
  `groups` |