Upgrading xarray 0.9 to 0.10
Breaking0.9.6 → 0.10.9Breaking1New3Changed2Fixed1
BreakingUpgrade verdict
1 breaking change.
In plain terms
- If you call NumPy ufunc methods on xarray objects, results may differ from before.
Must act 1 item needs code or config changes
What you must change
Breaking1
Applying NumPy ufunc methods to xarray objects is a possibly backwards incompatible change.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- added:
export CFTimeIndex - added:
export SerializationWarning - added:
export apply_ufunc - added:
export cftime_range - added:
export dot - added:
export get_versions - added:
export open_zarr - added:
export show_versions - added:
export where
- added:
export PseudoNetCDFDataStore - added:
export ZarrStore
- changed:
function open_dataarray(*args, **kwargs) → function open_dataarray(filename_or_obj, group=…, decode_cf=…, mask_and_scale=…, decode_times=…, autoclose=…, concat_characters=…, decode_coords=…, engine=…, chunks=…, lock=…, cache=…, drop_variables=…, backend_kwargs=…) - changed:
function open_dataset(filename_or_obj, group=…, decode_cf=…, mask_and_scale=…, decode_times=…, autoclose=…, concat_characters=…, decode_coords=…, engine=…, chunks=…, lock=…, cache=…, drop_variables=…) → function open_dataset(filename_or_obj, group=…, decode_cf=…, mask_and_scale=…, decode_times=…, autoclose=…, concat_characters=…, decode_coords=…, engine=…, chunks=…, lock=…, cache=…, drop_variables=…, backend_kwargs=…) - changed:
function open_mfdataset(paths, chunks=…, concat_dim=…, compat=…, preprocess=…, engine=…, lock=…, **kwargs) → function open_mfdataset(paths, chunks=…, concat_dim=…, compat=…, preprocess=…, engine=…, lock=…, data_vars=…, coords=…, autoclose=…, parallel=…, **kwargs) - changed:
function save_mfdataset(datasets, paths, mode=…, format=…, groups=…, engine=…) → function save_mfdataset(datasets, paths, mode=…, format=…, groups=…, engine=…, compute=…) - changed:
function to_netcdf(dataset, path_or_file=…, mode=…, format=…, group=…, engine=…, writer=…, encoding=…, unlimited_dims=…) → function to_netcdf(dataset, path_or_file=…, mode=…, format=…, group=…, engine=…, writer=…, encoding=…, unlimited_dims=…, compute=…) - added:
function to_zarr(dataset, store=…, mode=…, synchronizer=…, group=…, encoding=…, compute=…)
- removed:
method AbstractWritableDataStore.set_necessary_dimensions(variable, unlimited_dims=…) - removed:
method WritableCFDataStore.store(variables, attributes, *args, **kwargs) - removed:
variable GLOBAL_LOCK - changed:
constructor AbstractWritableDataStore(writer=…) → constructor AbstractWritableDataStore(writer=…, lock=…) - changed:
constructor ArrayWriter() → constructor ArrayWriter(lock=…) - changed:
method AbstractWritableDataStore.sync() → method AbstractWritableDataStore.sync(compute=…) - changed:
method ArrayWriter.sync() → method ArrayWriter.sync(compute=…) - changed:
method DataStorePickleMixin.ensure_open(autoclose) → method DataStorePickleMixin.ensure_open(autoclose=…) - added:
class BackendArray(NdimSizeLenMixin, indexing.ExplicitlyIndexed) - added:
class CombinedLock(object) - added:
class PickleByReconstructionWrapper(object) - added:
constructor CombinedLock(locks) - added:
constructor PickleByReconstructionWrapper(opener, file, mode=…, **kwargs) - added:
method AbstractDataStore.get_dimensions() - added:
method AbstractWritableDataStore.encode(variables, attributes) - added:
method AbstractWritableDataStore.encode_attribute(a) - added:
method AbstractWritableDataStore.encode_variable(v) - added:
method AbstractWritableDataStore.set_dimensions(variables, unlimited_dims=…) - added:
method CombinedLock.acquire(*args) - added:
method CombinedLock.release(*args) - added:
method PickleByReconstructionWrapper.close() - added:
method WritableCFDataStore.encode(variables, attributes) - added:
property CombinedLock.locked - added:
property DataStorePickleMixin.ds - added:
property PickleByReconstructionWrapper.value - added:
variable HDF5_LOCK
- changed:
constructor H5NetCDFStore(filename, mode=…, format=…, group=…, writer=…, autoclose=…) → constructor H5NetCDFStore(filename, mode=…, format=…, group=…, writer=…, autoclose=…, lock=…) - changed:
method H5NetCDFStore.set_dimension(name, length) → method H5NetCDFStore.set_dimension(name, length, is_unlimited=…) - changed:
method H5NetCDFStore.sync() → method H5NetCDFStore.sync(compute=…) - added:
method H5NetCDFStore.encode_variable(variable) - added:
method H5NetCDFStore.get_encoding()
- changed:
method InMemoryDataStore.set_dimension(d, l) → method InMemoryDataStore.set_dimension(d, l, unlimited_dims=…) - added:
method InMemoryDataStore.get_dimensions()
- changed:
class BaseNetCDF4Array(NdimSizeLenMixin, DunderArrayMixin) → class BaseNetCDF4Array(BackendArray) - changed:
constructor NetCDF4DataStore(filename, mode=…, format=…, group=…, writer=…, clobber=…, diskless=…, persist=…, autoclose=…) → constructor NetCDF4DataStore(netcdf4_dataset, mode=…, writer=…, opener=…, autoclose=…, lock=…) - changed:
method NetCDF4DataStore.set_dimension(name, length) → method NetCDF4DataStore.set_dimension(name, length, is_unlimited=…) - changed:
method NetCDF4DataStore.sync() → method NetCDF4DataStore.sync(compute=…) - added:
method NetCDF4DataStore.encode_variable(variable) - added:
static method NetCDF4DataStore.open(filename, mode=…, format=…, group=…, writer=…, clobber=…, diskless=…, persist=…, autoclose=…, lock=…)
- removed:
function maybe_convert_to_char_array(data, dims) - added:
variable STRING_ENCODING
- added:
class PncArrayWrapper(BackendArray) - added:
class PseudoNetCDFDataStore(AbstractDataStore, DataStorePickleMixin) - added:
constructor PncArrayWrapper(variable_name, datastore) - added:
constructor PseudoNetCDFDataStore(pnc_dataset, mode=…, writer=…, opener=…, autoclose=…) - added:
method PncArrayWrapper.get_array() - added:
method PseudoNetCDFDataStore.close() - added:
method PseudoNetCDFDataStore.get_attrs() - added:
method PseudoNetCDFDataStore.get_dimensions() - added:
method PseudoNetCDFDataStore.get_encoding() - added:
method PseudoNetCDFDataStore.get_variables() - added:
method PseudoNetCDFDataStore.open_store_variable(name, var) - added:
static method PseudoNetCDFDataStore.open(filename, format=…, writer=…, autoclose=…, **format_kwds)
- changed:
class PydapArrayWrapper(NDArrayMixin) → class PydapArrayWrapper(BackendArray) - changed:
constructor PydapDataStore(url) → constructor PydapDataStore(ds) - added:
property PydapArrayWrapper.shape - added:
static method PydapDataStore.open(url, session=…)
- changed:
class NioArrayWrapper(NdimSizeLenMixin, DunderArrayMixin) → class NioArrayWrapper(BackendArray)
- changed:
class RasterioArrayWrapper(NdimSizeLenMixin, DunderArrayMixin) → class RasterioArrayWrapper(BackendArray) - changed:
constructor RasterioArrayWrapper(rasterio_ds) → constructor RasterioArrayWrapper(riods) - changed:
function open_rasterio(filename, chunks=…, cache=…, lock=…) → function open_rasterio(filename, parse_coordinates=…, chunks=…, cache=…, lock=…)
- changed:
class ScipyArrayWrapper(NdimSizeLenMixin, DunderArrayMixin) → class ScipyArrayWrapper(BackendArray) - changed:
constructor ScipyDataStore(filename_or_obj, mode=…, format=…, group=…, writer=…, mmap=…, autoclose=…) → constructor ScipyDataStore(filename_or_obj, mode=…, format=…, group=…, writer=…, mmap=…, autoclose=…, lock=…) - changed:
method ScipyDataStore.set_dimension(name, length) → method ScipyDataStore.set_dimension(name, length, is_unlimited=…) - changed:
method ScipyDataStore.sync() → method ScipyDataStore.sync(compute=…) - added:
method ScipyDataStore.encode_variable(variable)
- added:
class ZarrArrayWrapper(BackendArray) - added:
class ZarrStore(AbstractWritableDataStore) - added:
constructor ZarrArrayWrapper(variable_name, datastore) - added:
constructor ZarrStore(zarr_group, writer=…) - added:
function encode_zarr_variable(var, needs_copy=…, name=…) - added:
function open_zarr(store, group=…, synchronizer=…, auto_chunk=…, decode_cf=…, mask_and_scale=…, decode_times=…, concat_characters=…, decode_coords=…, drop_variables=…) - added:
method ZarrArrayWrapper.get_array() - added:
method ZarrStore.encode_attribute(a) - added:
method ZarrStore.encode_variable(variable) - added:
method ZarrStore.get_attrs() - added:
method ZarrStore.get_dimensions() - added:
method ZarrStore.get_variables() - added:
method ZarrStore.open_store_variable(name, zarr_array) - added:
method ZarrStore.prepare_variable(name, variable, check_encoding=…, unlimited_dims=…) - added:
method ZarrStore.set_attributes(attributes) - added:
method ZarrStore.set_dimensions(variables, unlimited_dims=…) - added:
method ZarrStore.store(variables, attributes, *args, **kwargs) - added:
method ZarrStore.sync(compute=…) - added:
static method ZarrStore.open_group(store, mode=…, synchronizer=…, group=…, writer=…)
- added:
class BaseCFTimeOffset(object) - added:
class Day(BaseCFTimeOffset) - added:
class Hour(BaseCFTimeOffset) - added:
class Minute(BaseCFTimeOffset) - added:
class MonthBegin(BaseCFTimeOffset) - added:
class MonthEnd(BaseCFTimeOffset) - added:
class Second(BaseCFTimeOffset) - added:
class YearBegin(YearOffset) - added:
class YearEnd(YearOffset) - added:
class YearOffset(BaseCFTimeOffset) - added:
constructor BaseCFTimeOffset(n=…) - added:
constructor YearOffset(n=…, month=…) - added:
function cftime_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, closed=…, calendar=…) - added:
function get_date_type(calendar) - added:
function normalize_date(date) - added:
function to_cftime_datetime(date_str_or_date, calendar=…) - added:
function to_offset(freq) - added:
method BaseCFTimeOffset.onOffset(date) - added:
method BaseCFTimeOffset.rollback(date) - added:
method BaseCFTimeOffset.rollforward(date) - added:
method BaseCFTimeOffset.rule_code() - added:
method MonthBegin.onOffset(date) - added:
method MonthEnd.onOffset(date) - added:
method YearBegin.onOffset(date) - added:
method YearBegin.rollback(date) - added:
method YearBegin.rollforward(date) - added:
method YearEnd.onOffset(date) - added:
method YearEnd.rollback(date) - added:
method YearEnd.rollforward(date) - added:
method YearOffset.rule_code()
- added:
class CFTimeIndex(pd.Index) - added:
field CFTimeIndex.date_type - added:
field CFTimeIndex.day - added:
field CFTimeIndex.hour - added:
field CFTimeIndex.microsecond - added:
field CFTimeIndex.minute - added:
field CFTimeIndex.month - added:
field CFTimeIndex.second - added:
field CFTimeIndex.year - added:
function assert_all_valid_date_type(data) - added:
function build_pattern(date_sep=…, datetime_sep=…, time_sep=…) - added:
function get_date_field(datetimes, field) - added:
function get_date_type(self) - added:
function named(name, pattern) - added:
function optional(x) - added:
function parse_iso8601(datetime_string) - added:
function trailing_optional(xs) - added:
method CFTimeIndex.contains(key) - added:
method CFTimeIndex.get_loc(key, method=…, tolerance=…) - added:
method CFTimeIndex.get_value(series, key)
- added:
class CharacterArrayCoder(VariableCoder) - added:
class EncodedStringCoder(VariableCoder) - added:
class StackedBytesArray(indexing.ExplicitlyIndexedNDArrayMixin) - added:
constructor EncodedStringCoder(allows_unicode=…) - added:
constructor StackedBytesArray(array) - added:
function bytes_to_char(arr) - added:
function char_to_bytes(arr) - added:
function check_vlen_dtype(dtype) - added:
function create_vlen_dtype(element_type) - added:
function decode_bytes_array(bytes_array, encoding=…) - added:
function encode_string_array(string_array, encoding=…) - added:
function ensure_fixed_length_bytes(var) - added:
function is_bytes_dtype(dtype) - added:
function is_unicode_dtype(dtype) - added:
method CharacterArrayCoder.decode(variable, name=…) - added:
method CharacterArrayCoder.encode(variable, name=…) - added:
method EncodedStringCoder.decode(variable, name=…) - added:
method EncodedStringCoder.encode(variable, name=…) - added:
property StackedBytesArray.dtype - added:
property StackedBytesArray.shape
- added:
class CFDatetimeCoder(VariableCoder) - added:
class CFTimedeltaCoder(VariableCoder) - added:
function cast_to_int_if_safe(num) - added:
function cftime_to_nptime(times) - added:
function decode_cf_datetime(num_dates, units, calendar=…, enable_cftimeindex=…) - added:
function decode_cf_timedelta(num_timedeltas, units) - added:
function encode_cf_datetime(dates, units=…, calendar=…) - added:
function encode_cf_timedelta(timedeltas, units=…) - added:
function format_cftime_datetime(date) - added:
function infer_calendar_name(dates) - added:
function infer_datetime_units(dates) - added:
function infer_timedelta_units(deltas) - added:
method CFDatetimeCoder.decode(variable, name=…) - added:
method CFDatetimeCoder.encode(variable, name=…) - added:
method CFTimedeltaCoder.decode(variable, name=…) - added:
method CFTimedeltaCoder.encode(variable, name=…) - added:
variable TIME_UNITS
- added:
class CFMaskCoder(VariableCoder) - added:
class CFScaleOffsetCoder(VariableCoder) - added:
class SerializationWarning(RuntimeWarning) - added:
class UnsignedIntegerCoder(VariableCoder) - added:
class VariableCoder(object) - added:
function lazy_elemwise_func(array, func, dtype) - added:
function pop_to(source, dest, key, name=…) - added:
function safe_setitem(dest, key, value, name=…) - added:
function unpack_for_decoding(var) - added:
function unpack_for_encoding(var) - added:
method CFMaskCoder.decode(variable, name=…) - added:
method CFMaskCoder.encode(variable, name=…) - added:
method CFScaleOffsetCoder.decode(variable, name=…) - added:
method CFScaleOffsetCoder.encode(variable, name=…) - added:
method UnsignedIntegerCoder.decode(variable, name=…) - added:
method UnsignedIntegerCoder.encode(variable, name=…) - added:
method VariableCoder.decode(variable, name=…) - added:
method VariableCoder.encode(variable, name=…)
- removed:
class CharToStringArray(utils.NDArrayMixin) - removed:
class DecodedCFDatetimeArray(utils.NDArrayMixin) - removed:
class DecodedCFTimedeltaArray(utils.NDArrayMixin) - removed:
class MaskedAndScaledArray(utils.NDArrayMixin) - removed:
constructor CharToStringArray(array) - removed:
constructor DecodedCFDatetimeArray(array, units, calendar=…) - removed:
constructor DecodedCFTimedeltaArray(array, units) - removed:
constructor MaskedAndScaledArray(array, fill_value=…, scale_factor=…, add_offset=…, dtype=…) - removed:
function cast_to_int_if_safe(num) - removed:
function char_to_string(arr) - removed:
function decode_cf_datetime(num_dates, units, calendar=…) - removed:
function decode_cf_timedelta(num_timedeltas, units) - removed:
function encode_cf_datetime(dates, units=…, calendar=…) - removed:
function encode_cf_timedelta(timedeltas, units=…) - removed:
function infer_datetime_units(dates) - removed:
function infer_timedelta_units(deltas) - removed:
function mask_and_scale(array, fill_value=…, scale_factor=…, add_offset=…, dtype=…) - removed:
function maybe_encode_datetime(var) - removed:
function maybe_encode_dtype(var, name=…) - removed:
function maybe_encode_fill_value(var, needs_copy=…) - removed:
function maybe_encode_offset_and_scale(var, needs_copy=…) - removed:
function maybe_encode_timedelta(var) - removed:
function nctime_to_nptime(times) - removed:
function pop_to(source, dest, key, default=…) - removed:
function safe_setitem(dest, key, value) - removed:
function string_to_char(arr) - removed:
property CharToStringArray.dtype - removed:
property CharToStringArray.shape - removed:
property DecodedCFDatetimeArray.dtype - removed:
property DecodedCFTimedeltaArray.dtype - removed:
property MaskedAndScaledArray.dtype - removed:
variable TIME_UNITS - changed:
class BoolTypeArray(utils.NDArrayMixin) → class BoolTypeArray(indexing.ExplicitlyIndexedNDArrayMixin) - changed:
class NativeEndiannessArray(utils.NDArrayMixin) → class NativeEndiannessArray(indexing.ExplicitlyIndexedNDArrayMixin) - changed:
function decode_cf_variable(var, concat_characters=…, mask_and_scale=…, decode_times=…, decode_endianness=…) → function decode_cf_variable(name, var, concat_characters=…, mask_and_scale=…, decode_times=…, decode_endianness=…, stack_char_dim=…) - changed:
function ensure_dtype_not_object(var) → function ensure_dtype_not_object(var, name=…) - added:
function ensure_not_multiindex(var, name=…) - added:
function maybe_encode_nonstring_dtype(var, name=…)
- removed:
variable ignored_attrs - changed:
function to_cdms2(dataarray) → function to_cdms2(dataarray, copy=…) - added:
function encode(var) - added:
function from_iris(cube) - added:
function to_iris(dataarray) - added:
variable cdms2_ignored_attrs - added:
variable cell_methods_strings - added:
variable iris_forbidden_keys
- added:
method DatetimeAccessor.ceil(freq) - added:
method DatetimeAccessor.floor(freq) - added:
method DatetimeAccessor.round(freq)
- added:
class SupportsArithmetic(object)
- changed:
function auto_combine(datasets, concat_dim=…, compat=…) → function auto_combine(datasets, concat_dim=…, compat=…, data_vars=…, coords=…)
- removed:
class BaseDataObject(AttrAccessMixin) - removed:
function is_datetime_like(dtype) - removed:
method BaseDataObject.assign_attrs(*args, **kwargs) - removed:
method BaseDataObject.assign_coords(**kwargs) - removed:
method BaseDataObject.close() - removed:
method BaseDataObject.get_index(key) - removed:
method BaseDataObject.groupby(group, squeeze=…) - removed:
method BaseDataObject.groupby_bins(group, bins, right=…, labels=…, precision=…, include_lowest=…, squeeze=…) - removed:
method BaseDataObject.pipe(func, *args, **kwargs) - removed:
method BaseDataObject.resample(freq, dim, how=…, skipna=…, closed=…, label=…, base=…, keep_attrs=…) - removed:
method BaseDataObject.rolling(min_periods=…, center=…, **windows) - removed:
method BaseDataObject.squeeze(dim=…, drop=…) - removed:
method BaseDataObject.where(cond, other=…, drop=…) - changed:
function get_squeeze_dims(xarray_obj, dim) → function get_squeeze_dims(xarray_obj, dim, axis=…) - added:
class DataWithCoords(SupportsArithmetic, AttrAccessMixin) - added:
function contains_cftime_datetimes(var) - added:
function is_np_datetime_like(dtype) - added:
method DataWithCoords.assign_attrs(*args, **kwargs) - added:
method DataWithCoords.assign_coords(**kwargs) - added:
method DataWithCoords.close() - added:
method DataWithCoords.get_index(key) - added:
method DataWithCoords.groupby(group, squeeze=…) - added:
method DataWithCoords.groupby_bins(group, bins, right=…, labels=…, precision=…, include_lowest=…, squeeze=…) - added:
method DataWithCoords.isin(test_elements) - added:
method DataWithCoords.pipe(func, *args, **kwargs) - added:
method DataWithCoords.resample(freq=…, dim=…, how=…, skipna=…, closed=…, label=…, base=…, keep_attrs=…, **indexer) - added:
method DataWithCoords.rolling(dim=…, min_periods=…, center=…, **dim_kwargs) - added:
method DataWithCoords.squeeze(dim=…, drop=…, axis=…) - added:
method DataWithCoords.where(cond, other=…, drop=…)
- added:
function assert_and_return_exact_match(all_keys) - added:
function dot(*arrays, **kwargs) - added:
function where(cond, x, y)
- added:
function assert_coordinate_consistent(obj, coords) - added:
function remap_label_indexers(obj, indexers=…, method=…, tolerance=…, **indexers_kwargs)
- added:
function gradient(f, *varargs, **kwargs) - added:
function isin(element, test_elements, assume_unique=…, invert=…) - added:
function validate_axis(axis, ndim) - added:
variable AxisError - added:
variable gradient
- added:
function dask_rolling_wrapper(moving_func, a, window, min_count=…, axis=…) - added:
function rolling_window(a, axis, window, center, fill_value) - added:
variable overlap - added:
variable trim_internal
- changed:
class DataArray(AbstractArray, BaseDataObject) → class DataArray(AbstractArray, DataWithCoords) - changed:
method DataArray.compute() → method DataArray.compute(**kwargs) - changed:
method DataArray.copy(deep=…) → method DataArray.copy(deep=…, data=…) - changed:
method DataArray.dot(other) → method DataArray.dot(other, dims=…) - changed:
method DataArray.isel(drop=…, **indexers) → method DataArray.isel(indexers=…, drop=…, **indexers_kwargs) - changed:
method DataArray.load() → method DataArray.load(**kwargs) - changed:
method DataArray.persist() → method DataArray.persist(**kwargs) - changed:
method DataArray.reindex(method=…, tolerance=…, copy=…, **indexers) → method DataArray.reindex(indexers=…, method=…, tolerance=…, copy=…, **indexers_kwargs) - changed:
method DataArray.rename(new_name_or_name_dict) → method DataArray.rename(new_name_or_name_dict=…, **names) - changed:
method DataArray.reorder_levels(inplace=…, **dim_order) → method DataArray.reorder_levels(dim_order=…, inplace=…, **dim_order_kwargs) - changed:
method DataArray.roll(**shifts) → method DataArray.roll(shifts=…, roll_coords=…, **shifts_kwargs) - changed:
method DataArray.sel(method=…, tolerance=…, drop=…, **indexers) → method DataArray.sel(indexers=…, method=…, tolerance=…, drop=…, **indexers_kwargs) - changed:
method DataArray.set_index(append=…, inplace=…, **indexes) → method DataArray.set_index(indexes=…, append=…, inplace=…, **indexes_kwargs) - changed:
method DataArray.shift(**shifts) → method DataArray.shift(shifts=…, **shifts_kwargs) - changed:
method DataArray.stack(**dimensions) → method DataArray.stack(dimensions=…, **dimensions_kwargs) - changed:
method DataArray.unstack(dim) → method DataArray.unstack(dim=…) - added:
method DataArray.bfill(dim, limit=…) - added:
method DataArray.differentiate(coord, edge_order=…, datetime_unit=…) - added:
method DataArray.ffill(dim, limit=…) - added:
method DataArray.interp(coords=…, method=…, assume_sorted=…, kwargs=…, **coords_kwargs) - added:
method DataArray.interp_like(other, method=…, assume_sorted=…, kwargs=…) - added:
method DataArray.interpolate_na(dim=…, method=…, limit=…, use_coordinate=…, **kwargs) - added:
method DataArray.rank(dim, pct=…, keep_attrs=…) - added:
method DataArray.to_iris() - added:
static method DataArray.from_iris(cube)
- changed:
class Dataset(Mapping, ImplementsDatasetReduce, BaseDataObject, formatting.ReprMixin) → class Dataset(Mapping, ImplementsDatasetReduce, DataWithCoords, formatting.ReprMixin) - changed:
method Dataset.assign(**kwargs) → method Dataset.assign(variables=…, **variables_kwargs) - changed:
method Dataset.compute() → method Dataset.compute(**kwargs) - changed:
method Dataset.copy(deep=…) → method Dataset.copy(deep=…, data=…) - changed:
method Dataset.dump_to_store(store, encoder=…, sync=…, encoding=…, unlimited_dims=…) → method Dataset.dump_to_store(store, encoder=…, sync=…, encoding=…, unlimited_dims=…, compute=…) - changed:
method Dataset.isel(drop=…, **indexers) → method Dataset.isel(indexers=…, drop=…, **indexers_kwargs) - changed:
method Dataset.load() → method Dataset.load(**kwargs) - changed:
method Dataset.persist() → method Dataset.persist(**kwargs) - changed:
method Dataset.reindex(indexers=…, method=…, tolerance=…, copy=…, **kw_indexers) → method Dataset.reindex(indexers=…, method=…, tolerance=…, copy=…, **indexers_kwargs) - changed:
method Dataset.rename(name_dict, inplace=…) → method Dataset.rename(name_dict=…, inplace=…, **names) - changed:
method Dataset.reorder_levels(inplace=…, **dim_order) → method Dataset.reorder_levels(dim_order=…, inplace=…, **dim_order_kwargs) - changed:
method Dataset.roll(**shifts) → method Dataset.roll(shifts=…, roll_coords=…, **shifts_kwargs) - changed:
method Dataset.sel(method=…, tolerance=…, drop=…, **indexers) → method Dataset.sel(indexers=…, method=…, tolerance=…, drop=…, **indexers_kwargs) - changed:
method Dataset.set_index(append=…, inplace=…, **indexes) → method Dataset.set_index(indexes=…, append=…, inplace=…, **indexes_kwargs) - changed:
method Dataset.shift(**shifts) → method Dataset.shift(shifts=…, **shifts_kwargs) - changed:
method Dataset.stack(**dimensions) → method Dataset.stack(dimensions=…, **dimensions_kwargs) - changed:
method Dataset.to_netcdf(path=…, mode=…, format=…, group=…, engine=…, encoding=…, unlimited_dims=…) → method Dataset.to_netcdf(path=…, mode=…, format=…, group=…, engine=…, encoding=…, unlimited_dims=…, compute=…) - changed:
method Dataset.unstack(dim) → method Dataset.unstack(dim=…) - added:
method Dataset.bfill(dim, limit=…) - added:
method Dataset.differentiate(coord, edge_order=…, datetime_unit=…) - added:
method Dataset.ffill(dim, limit=…) - added:
method Dataset.interp(coords=…, method=…, assume_sorted=…, kwargs=…, **coords_kwargs) - added:
method Dataset.interp_like(other, method=…, assume_sorted=…, kwargs=…) - added:
method Dataset.interpolate_na(dim=…, method=…, limit=…, use_coordinate=…, **kwargs) - added:
method Dataset.rank(dim, pct=…, keep_attrs=…) - added:
method Dataset.to_dask_dataframe(dim_order=…, set_index=…) - added:
method Dataset.to_zarr(store=…, mode=…, synchronizer=…, group=…, encoding=…, compute=…)
- added:
class AlwaysGreaterThan(object) - added:
class AlwaysLessThan(object) - added:
function get_fill_value(dtype) - added:
function get_neg_infinity(dtype) - added:
function get_pos_infinity(dtype) - added:
function is_datetime_like(dtype) - added:
function maybe_promote(dtype) - added:
function result_type(*arrays_and_dtypes) - added:
variable INF - added:
variable NA - added:
variable NAT_TYPES - added:
variable NINF - added:
variable PROMOTE_TO_OBJECT
- removed:
variable bn - removed:
variable concatenate - removed:
variable cumprod - removed:
variable cumsum - removed:
variable has_bottleneck - removed:
variable has_dask - removed:
variable insert - removed:
variable stack - removed:
variable where - added:
function as_shared_dtype(scalars_or_arrays) - added:
function concatenate(arrays, axis=…) - added:
function cumprod(array, axis=…, **kwargs) - added:
function cumsum(array, axis=…, **kwargs) - added:
function fillna(data, other) - added:
function gradient(x, coord, axis, edge_order) - added:
function rolling_window(array, axis, window, center, fill_value) - added:
function stack(arrays, axis=…) - added:
function where(condition, x, y) - added:
variable cumprod_1d - added:
variable cumsum_1d - added:
variable dask_array - added:
variable dask_array_compat - added:
variable einsum - added:
variable isin - added:
variable masked_invalid
- removed:
function summarize_var(name, var, col_width) - changed:
function first_n_items(x, n_desired) → function first_n_items(array, n_desired) - changed:
function format_array_flat(items_ndarray, max_width) → function format_array_flat(array, max_width) - changed:
function last_item(x) → function last_item(array) - added:
function last_n_items(array, n_desired) - added:
function short_dask_repr(array, show_dtype=…) - added:
function summarize_datavar(name, var, col_width) - added:
function summarize_variable(name, var, col_width, show_values=…, marker=…, max_width=…)
- changed:
class GroupBy(object) → class GroupBy(SupportsArithmetic) - changed:
method GroupBy.where(cond) → method GroupBy.where(cond, other=…)
- removed:
class LazilyIndexedArray(utils.NDArrayMixin) - removed:
constructor LazilyIndexedArray(array, key=…) - removed:
function canonicalize_indexer(key, ndim) - removed:
function get_indexer(index, labels, method=…, tolerance=…) - removed:
function orthogonal_indexer(key, shape) - removed:
function orthogonally_indexable(array) - removed:
property LazilyIndexedArray.shape - changed:
class CopyOnWriteArray(utils.NDArrayMixin) → class CopyOnWriteArray(ExplicitlyIndexedNDArrayMixin) - changed:
class DaskIndexingAdapter(utils.NDArrayMixin) → class DaskIndexingAdapter(ExplicitlyIndexedNDArrayMixin) - changed:
class MemoryCachedArray(utils.NDArrayMixin) → class MemoryCachedArray(ExplicitlyIndexedNDArrayMixin) - changed:
class NumpyIndexingAdapter(utils.NDArrayMixin) → class NumpyIndexingAdapter(ExplicitlyIndexedNDArrayMixin) - changed:
class PandasIndexAdapter(utils.NDArrayMixin) → class PandasIndexAdapter(ExplicitlyIndexedNDArrayMixin) - added:
class BasicIndexer(ExplicitIndexer) - added:
class ExplicitIndexer(object) - added:
class ExplicitlyIndexed(object) - added:
class ExplicitlyIndexedNDArrayMixin(utils.NDArrayMixin, ExplicitlyIndexed) - added:
class ImplicitToExplicitIndexingAdapter(utils.NDArrayMixin) - added:
class IndexingSupport(object) - added:
class LazilyOuterIndexedArray(ExplicitlyIndexedNDArrayMixin) - added:
class LazilyVectorizedIndexedArray(ExplicitlyIndexedNDArrayMixin) - added:
class OuterIndexer(ExplicitIndexer) - added:
class VectorizedIndexer(ExplicitIndexer) - added:
constructor BasicIndexer(key) - added:
constructor ExplicitIndexer(key) - added:
constructor ImplicitToExplicitIndexingAdapter(array, indexer_cls=…) - added:
constructor LazilyOuterIndexedArray(array, key=…) - added:
constructor LazilyVectorizedIndexedArray(array, key) - added:
constructor OuterIndexer(key) - added:
constructor VectorizedIndexer(key) - added:
field IndexingSupport.BASIC - added:
field IndexingSupport.OUTER - added:
field IndexingSupport.OUTER_1VECTOR - added:
field IndexingSupport.VECTORIZED - added:
function as_indexable(array) - added:
function as_integer_or_none(value) - added:
function as_integer_slice(value) - added:
function create_mask(indexer, shape, chunks_hint=…) - added:
function decompose_indexer(indexer, shape, indexing_support) - added:
function explicit_indexing_adapter(key, shape, indexing_support, raw_indexing_method) - added:
function get_indexer_nd(index, labels, method=…, tolerance=…) - added:
function posify_mask_indexer(indexer) - added:
method CopyOnWriteArray.transpose(order) - added:
method DaskIndexingAdapter.transpose(order) - added:
method LazilyOuterIndexedArray.transpose(order) - added:
method LazilyVectorizedIndexedArray.transpose(order) - added:
method MemoryCachedArray.transpose(order) - added:
method NumpyIndexingAdapter.transpose(order) - added:
method PandasIndexAdapter.transpose(order) - added:
property ExplicitIndexer.tuple - added:
property LazilyOuterIndexedArray.shape - added:
property LazilyVectorizedIndexedArray.shape
- added:
function assert_valid_explicit_coords(variables, dims, explicit_coords) - added:
function extract_indexes(coords)
- added:
class BaseInterpolator(object) - added:
class NumpyInterpolator(BaseInterpolator) - added:
class ScipyInterpolator(BaseInterpolator) - added:
class SplineInterpolator(BaseInterpolator) - added:
constructor BaseInterpolator(xi, yi, method=…, **kwargs) - added:
constructor NumpyInterpolator(xi, yi, method=…, fill_value=…, **kwargs) - added:
constructor ScipyInterpolator(xi, yi, method=…, fill_value=…, assume_sorted=…, copy=…, bounds_error=…, **kwargs) - added:
constructor SplineInterpolator(xi, yi, method=…, fill_value=…, order=…, **kwargs) - added:
field BaseInterpolator.call_kwargs - added:
field BaseInterpolator.cons_kwargs - added:
field BaseInterpolator.f - added:
field BaseInterpolator.method - added:
function bfill(arr, dim=…, limit=…) - added:
function ffill(arr, dim=…, limit=…) - added:
function func_interpolate_na(interpolator, x, y, **kwargs) - added:
function get_clean_interp_index(arr, dim, use_coordinate=…, **kwargs) - added:
function interp(var, indexes_coords, method, **kwargs) - added:
function interp_func(var, x, new_x, method, kwargs) - added:
function interp_na(self, dim=…, use_coordinate=…, method=…, limit=…, **kwargs)
- added:
function nanargmax(a, axis=…) - added:
function nanargmin(a, axis=…) - added:
function nancumprod(a, axis=…, dtype=…, out=…) - added:
function nancumsum(a, axis=…, dtype=…, out=…) - added:
function nanmax(a, axis=…, out=…) - added:
function nanmean(a, axis=…, dtype=…, out=…) - added:
function nanmedian(a, axis=…, out=…) - added:
function nanmin(a, axis=…, out=…) - added:
function nanprod(a, axis=…, dtype=…, out=…, min_count=…) - added:
function nanstd(a, axis=…, dtype=…, out=…) - added:
function nansum(a, axis=…, dtype=…, out=…, min_count=…) - added:
function nanvar(a, axis=…, dtype=…, out=…, ddof=…) - added:
variable dask_array
- removed:
function broadcast_to(array, shape, subok=…) - removed:
function nancumprod(a, axis=…, dtype=…, out=…) - removed:
function nancumsum(a, axis=…, dtype=…, out=…) - removed:
function nanprod(a, axis=…, dtype=…, out=…, keepdims=…) - removed:
function stack(arrays, axis=…) - added:
function gradient(f, *varargs, **kwargs) - added:
function isin(element, test_elements, assume_unique=…, invert=…) - added:
function normalize_axis_tuple(axes, N) - added:
variable gradient
- added:
class NumpyVIndexAdapter(object) - added:
constructor NumpyVIndexAdapter(array) - added:
function rolling_window(a, axis, window, center, fill_value) - added:
variable bn - added:
variable nancumprod - added:
variable nancumsum - added:
variable nanmax - added:
variable nanmean - added:
variable nanmedian - added:
variable nanmin - added:
variable nanprod - added:
variable nanstd - added:
variable nanvar
- added:
function rolling_count(rolling) - added:
function where_method(self, cond, other=…)
- added:
variable native_int_types - added:
variable path_type
- added:
class DataArrayResample(DataArrayGroupBy, Resample) - added:
class DatasetResample(DatasetGroupBy, Resample) - added:
class Resample(object) - added:
constructor DataArrayResample(*args, **kwargs) - added:
constructor DatasetResample(*args, **kwargs) - added:
field Resample.bfill - added:
field Resample.ffill - added:
method DataArrayResample.apply(func, shortcut=…, **kwargs) - added:
method DatasetResample.apply(func, **kwargs) - added:
method DatasetResample.reduce(func, dim=…, keep_attrs=…, **kwargs) - added:
method Resample.asfreq() - added:
method Resample.backfill() - added:
method Resample.interpolate(kind=…) - added:
method Resample.nearest() - added:
method Resample.pad() - added:
variable RESAMPLE_DIM
- removed:
property DataArrayRolling.windows - changed:
constructor DataArrayRolling(obj, min_periods=…, center=…, **windows) → constructor DataArrayRolling(obj, windows, min_periods=…, center=…) - changed:
constructor DatasetRolling(obj, min_periods=…, center=…, **windows) → constructor DatasetRolling(obj, windows, min_periods=…, center=…) - changed:
constructor Rolling(obj, min_periods=…, center=…, **windows) → constructor Rolling(obj, windows, min_periods=…, center=…) - added:
method DataArrayRolling.construct(window_dim, stride=…, fill_value=…) - added:
method DatasetRolling.construct(window_dim, stride=…, fill_value=…)
- removed:
class DunderArrayMixin(object) - removed:
function combine_pos_and_kw_args(pos_kwargs, kw_kwargs, func_name) - changed:
class NDArrayMixin(NdimSizeLenMixin, DunderArrayMixin) → class NDArrayMixin(NdimSizeLenMixin) - added:
class HiddenKeyDict(MutableMapping) - added:
class OrderedSet(MutableSet) - added:
class ReprObject(object) - added:
constructor HiddenKeyDict(data, hidden_keys) - added:
constructor OrderedSet(values=…) - added:
constructor ReprObject(value) - added:
function either_dict_or_kwargs(pos_kwargs, kw_kwargs, func_name) - added:
function to_numeric(array, offset=…, datetime_unit=…, dtype=…) - added:
method OrderedSet.add(value) - added:
method OrderedSet.discard(value) - added:
method OrderedSet.update(values)
- changed:
class Variable(common.AbstractArray, utils.NdimSizeLenMixin) → class Variable(common.AbstractArray, arithmetic.SupportsArithmetic, utils.NdimSizeLenMixin) - changed:
method IndexVariable.copy(deep=…) → method IndexVariable.copy(deep=…, data=…) - changed:
method Variable.compute() → method Variable.compute(**kwargs) - changed:
method Variable.copy(deep=…) → method Variable.copy(deep=…, data=…) - changed:
method Variable.isel(**indexers) → method Variable.isel(indexers=…, drop=…, **indexers_kwargs) - changed:
method Variable.load() → method Variable.load(**kwargs) - changed:
method Variable.roll(**shifts) → method Variable.roll(shifts=…, **shifts_kwargs) - changed:
method Variable.shift(**shifts) → method Variable.shift(shifts=…, **shifts_kwargs) - changed:
method Variable.stack(**dimensions) → method Variable.stack(dimensions=…, **dimensions_kwargs) - changed:
method Variable.unstack(**dimensions) → method Variable.unstack(dimensions=…, **dimensions_kwargs) - changed:
method Variable.where(cond) → method Variable.where(cond, other=…) - added:
class MissingDimensionsError(ValueError) - added:
method Variable.pad_with_fill_value(pad_widths=…, fill_value=…, **pad_widths_kwargs) - added:
method Variable.rank(dim, pct=…) - added:
method Variable.rolling_window(dim, window, window_dim, center=…, fill_value=…) - added:
variable BASIC_INDEXING_TYPES - added:
variable NON_NUMPY_SUPPORTED_ARRAY_TYPES
- added:
method FacetGrid.add_legend(**kwargs) - added:
method FacetGrid.map_dataarray_line(x=…, y=…, hue=…, **kwargs)
- changed:
function plot(darray, row=…, col=…, col_wrap=…, ax=…, rtol=…, subplot_kws=…, **kwargs) → function plot(darray, row=…, col=…, col_wrap=…, ax=…, hue=…, rtol=…, subplot_kws=…, **kwargs)
- added:
function import_matplotlib_pyplot() - added:
function import_seaborn() - added:
function label_from_attrs(da) - added:
function register_pandas_datetime_converter_if_needed() - added:
variable ROBUST_PERCENTILE
- added:
function get_sys_info() - added:
function main() - added:
function show_versions(as_json=…)
- removed:
variable short_version - removed:
variable version