Releases: pydata/xarray
v0.7.2
v0.7.1
v0.7.0
v0.6.1
This release contains a number of bug and compatibility fixes, as well as enhancements to plotting, indexing and writing files to disk.
Note that the minimum required version of dask for use with xray is now version 0.6.
- Faceted plotting through
FacetGrid
and theplot()
method. See Faceting for more details and examples. sel()
andreindex()
now support the tolerance argument for controlling nearest-neighbor selection (GH629). This feature requires pandas v0.17 or newer.- New
encoding
argument into_netcdf()
for writing netCDF files with compression, as described in the new documentation section on Writing encoded data. - Add
real
andimag
attributes toDatase
t andDataArray
(GH553). - More informative error message with
from_dataframe()
if the frame has duplicate columns. - xray now uses deterministic names for dask arrays it creates or opens from disk. This allows xray users to take advantage of dask’s nascent support for caching intermediate computation results. See GH555 for an example.
- Compatibility with Python 3.5 (GH583).
- Compatibility with pandas 0.17 (GH569).
- Compatability with numpy 1.10 (GH618).
See the What's New page for more information. Please report any issues here.
You an install the latest version of xray via conda
:
conda install xray
or via pip
:
pip install xray
v0.5.1
This minor release fixes a few bugs and an inconsistency with pandas. It also adds the pipe
method, copied from pandas.
For more details, see the release notes.
v0.5
Highlights of this release:
- Support for parallel computation on arrays that don't fit in memory using dask.array (see http://continuum.io/blog/xray-dask for more details)
- Support for multi-file datasets
- assign and fillna methods, based on the pandas methods of the same name.
- to_array and to_dataset methods for easier conversion between xray Dataset and DataArray objects.
- Label based indexing with nearest neighbor lookups
For more details, see the release notes.
v0.4.1
The release contains bug fixes and several new features. All changes should be fully backwards compatible.
Highlights include:
- Documentation sections on Time series data and Combining multiple files.
- resample method for resampling to a new temporal resolution like pandas
- first and last methods on groupby objects
- swap_dims method for swapping dimensions
- Fixed a critical bug with the scipy netCDF backend
For more details, see the release notes
v0.4
This is a major release that includes a number of new features and bug fixes, including several changes from existing behavior.
Highlights include:
- Automatic alignment of index labels in arithmetic and when combining arrays or datasets.
- Aggregations like mean now skip missing values by default.
- Relaxed equality rules in concat and merge for variables with equal value(s) but different shapes.
- New
drop
method for dropping variables or index labels. - Support for reindexing with a fill method like pandas.
For more details, see the release notes.
v0.4 release candidate
This is a release candidate for v0.4. This version of xray includes some major changes, so I wanted it to get some testing before its official release.
For a list of changes, please read the release notes from the development version of the documentation:
http://xray.readthedocs.org/en/latest/whats-new.html
To test it out, use:
pip install https://github.com/xray/xray/archive/v0.4rc1.zip
v0.3.2
This release focused on bug-fixes, speedups and resolving some niggling inconsistencies.
There are a few cases where the behavior of xray differs from the previous version. However, I expect that in almost all cases your code will continue to run unmodified.
xray now requires pandas v0.15.0 or later. This was necessary for supporting TimedeltaIndex without too many painful hacks.
Backwards incompatible changes:
-
Arrays of
datetime.datetime
objects are now automatically cast todatetime64[ns]
arrays when stored in an xray object, using machinery borrowed from pandas:In [1]: from datetime import datetime In [2]: xray.Dataset({'t': [datetime(2000, 1, 1)]}) Out[2]: <xray.Dataset> Dimensions: (t: 1) Coordinates: * t (t) datetime64[ns] 2000-01-01 Variables: *empty*
-
xray now has support (including serialization to netCDF) for
pandas.TimedeltaIndex
.datetime.timedelta
objects are thus accordingly cast totimedelta64[ns]
objects when appropriate. -
Masked arrays are now properly coerced to use
NaN
as a sentinel value.
Enhancements:
-
Due to popular demand, we have added experimental attribute style access as a shortcut for dataset variables, coordinates and attributes:
In [3]: ds = xray.Dataset({'tmin': ([], 25, {'units': 'celcius'})}) In [4]: ds.tmin.units Out[4]: 'celcius'
Tab-completion for these variables should work in editors such as IPython. However, setting variables or attributes in this fashion is not yet supported because there are some unresolved ambiguities.
-
You can now use a dictionary for indexing with labeled dimensions. This provides a safe way to do assignment with labeled dimensions:
In [5]: array = xray.DataArray(np.zeros(5), dims=['x']) In [6]: array[dict(x=slice(3))] = 1 In [7]: array Out[7]: <xray.DataArray (x: 5)> array([ 1., 1., 1., 0., 0.]) Coordinates: * x (x) int64 0 1 2 3 4
-
Non-index coordinates can now be faithfully written to and restored from netCDF files. This is done according to CF conventions when possible by using the
coordinates
attribute on a data variable. When not possible, xray defines a globalcoordinates
attribute. -
Preliminary support for converting
xray.DataArray
objects to and from CDATcdms2
variables. -
We sped up any operation that involves creating a new Dataset or DataArray (e.g., indexing, aggregation, arithmetic) by a factor of 30 to 50%. The full speed up requires cyordereddict to be installed.
Bug fixes:
- Fix for
to_dataframe()
with 0d string/object coordinates - Fix for
to_netcdf
with 0d string variable - Fix writing datetime64 arrays to netcdf if NaT is present
- Fix align silently upcasts data arrays when NaNs are inserted