v0.8.0 (2 August 2016)
This release includes new features and bug fixes, including several breaking changes.
Breaking changes
- Dropped support for Python 2.6 (#855).
- Indexing on multi-index now drop levels, which is consistent with pandas. It also changes the name of the dimension / coordinate when the multi-index is reduced to a single index (#802).
- Contour plots no longer add a colorbar per default (#866). Filled contour plots are unchanged.
DataArray.values
and.data
now always returns an NumPy array-like object, even for 0-dimensional arrays with object dtype (#867). Previously,.values
returned native Python objects in such cases. To convert the values of scalar arrays to Python objects, use the.item()
method.
Enhancements
- Groupby operations now support grouping over multidimensional variables. A new method called
xarray.Dataset.groupby_bins
has also been added to allow users to specify bins for grouping. The new features are described ingroupby.multidim
andexamples.multidim
. By Ryan Abernathey. - DataArray and Dataset method
where
now supports adrop=True
option that clips coordinate elements that are fully masked. By Phillip J. Wolfram. - New top level
merge
function allows for combining variables from any number ofDataset
and/orDataArray
variables. Seemerge
for more details. By Stephan Hoyer. - DataArray and Dataset method
resample
now supports thekeep_attrs=False
option that determines whether variable and dataset attributes are retained in the resampled object. By Jeremy McGibbon. - Better multi-index support in DataArray and Dataset
sel
andloc
methods, which now behave more closely to pandas and which also accept dictionaries for indexing based on given level names and labels (seemulti-level indexing
). By Benoit Bovy. - New (experimental) decorators
xarray.register_dataset_accessor
andxarray.register_dataarray_accessor
for registering custom xarray extensions without subclassing. They are described in the new documentation page oninternals
. By Stephan Hoyer. - Round trip boolean datatypes. Previously, writing boolean datatypes to netCDF formats would raise an error since netCDF does not have a
bool
datatype. This feature reads/writes adtype
attribute to boolean variables in netCDF files. By Joe Hamman. - 2D plotting methods now have two new keywords (
cbar_ax
andcbar_kwargs
), allowing more control on the colorbar (#872). By Fabien Maussion. - New Dataset method
filter_by_attrs
, akin tonetCDF4.Dataset.get_variables_by_attributes
, to easily filter data variables using its attributes. Filipe Fernandes.
Bug fixes
- Attributes were being retained by default for some resampling operations when they should not. With the
keep_attrs=False
option, they will no longer be retained by default. This may be backwards-incompatible with some scripts, but the attributes may be kept by adding thekeep_attrs=True
option. By Jeremy McGibbon. - Concatenating xarray objects along an axis with a MultiIndex or PeriodIndex preserves the nature of the index (#875). By Stephan Hoyer.
- Fixed bug in arithmetic operations on DataArray objects whose dimensions are numpy structured arrays or recarrays #861, #837. By Maciek Swat.
decode_cf_timedelta
now accepts arrays withndim
>1 (#842). This fixes issue #665. Filipe Fernandes.- Fix a bug where
xarray.ufuncs
that take two arguments would incorrectly use to numpy functions instead of dask.array functions (#876). By Stephan Hoyer. - Support for pickling functions from
xarray.ufuncs
(#901). By Stephan Hoyer. Variable.copy(deep=True)
no longer converts MultiIndex into a base Index (#769). By Benoit Bovy.- Fixes for groupby on dimensions with a multi-index (#867). By Stephan Hoyer.
- Fix printing datasets with unicode attributes on Python 2 (#892). By Stephan Hoyer.
- Fixed incorrect test for dask version (#891). By Stephan Hoyer.
- Fixed
dim
argument forisel_points
/sel_points
when apandas.Index
is passed. By Stephan Hoyer. xarray.plot.contour
now plots the correct number of contours (#866). By Fabien Maussion.