Skip to content
forked from pydata/xarray

Commit

Permalink
Remove some backcompat code
Browse files Browse the repository at this point in the history
  • Loading branch information
dcherian committed Jan 21, 2020
1 parent 05c9443 commit 3540398
Show file tree
Hide file tree
Showing 7 changed files with 9 additions and 34 deletions.
2 changes: 1 addition & 1 deletion xarray/core/dataarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -2969,7 +2969,7 @@ def quantile(
See Also
--------
numpy.nanpercentile, pandas.Series.quantile, Dataset.quantile
numpy.nanquantile, pandas.Series.quantile, Dataset.quantile
Examples
--------
Expand Down
8 changes: 2 additions & 6 deletions xarray/core/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -4466,11 +4466,7 @@ def _set_sparse_data_from_dataframe(

idx = dataframe.index
if isinstance(idx, pd.MultiIndex):
try:
codes = idx.codes
except AttributeError:
# deprecated since pandas 0.24
codes = idx.labels
codes = idx.codes
coords = np.stack([np.asarray(code) for code in codes], axis=0)
is_sorted = idx.is_lexsorted
else:
Expand Down Expand Up @@ -5171,7 +5167,7 @@ def quantile(
See Also
--------
numpy.nanpercentile, pandas.Series.quantile, DataArray.quantile
numpy.nanquantile, pandas.Series.quantile, DataArray.quantile
Examples
--------
Expand Down
2 changes: 1 addition & 1 deletion xarray/core/groupby.py
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ def quantile(self, q, dim=None, interpolation="linear", keep_attrs=None):
See Also
--------
numpy.nanpercentile, pandas.Series.quantile, Dataset.quantile,
numpy.nanquantile, pandas.Series.quantile, Dataset.quantile,
DataArray.quantile
Examples
Expand Down
7 changes: 1 addition & 6 deletions xarray/core/nputils.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@


def _validate_axis(data, axis):
ndim = data.ndim
if not -ndim <= axis < ndim:
raise IndexError(f"axis {axis!r} out of bounds [-{ndim}, {ndim})")
if axis < 0:
axis += ndim
return axis
return np.core.multiarray.normalize_axis_index(axis, data.ndim)


def _select_along_axis(values, idx, axis):
Expand Down
12 changes: 3 additions & 9 deletions xarray/core/variable.py
Original file line number Diff line number Diff line change
Expand Up @@ -1722,7 +1722,7 @@ def quantile(self, q, dim=None, interpolation="linear", keep_attrs=None):
See Also
--------
numpy.nanpercentile, pandas.Series.quantile, Dataset.quantile,
numpy.nanquantile, pandas.Series.quantile, Dataset.quantile,
DataArray.quantile
"""

Expand All @@ -1734,10 +1734,6 @@ def quantile(self, q, dim=None, interpolation="linear", keep_attrs=None):
scalar = utils.is_scalar(q)
q = np.atleast_1d(np.asarray(q, dtype=np.float64))

# TODO: remove once numpy >= 1.15.0 is the minimum requirement
if np.count_nonzero(q < 0.0) or np.count_nonzero(q > 1.0):
raise ValueError("Quantiles must be in the range [0, 1]")

if dim is None:
dim = self.dims

Expand All @@ -1746,9 +1742,7 @@ def quantile(self, q, dim=None, interpolation="linear", keep_attrs=None):

def _wrapper(npa, **kwargs):
# move quantile axis to end. required for apply_ufunc

# TODO: use np.nanquantile once numpy >= 1.15.0 is the minimum requirement
return np.moveaxis(np.nanpercentile(npa, **kwargs), 0, -1)
return np.moveaxis(np.nanquantile(npa, **kwargs), 0, -1)

axis = np.arange(-1, -1 * len(dim) - 1, -1)
result = apply_ufunc(
Expand All @@ -1760,7 +1754,7 @@ def _wrapper(npa, **kwargs):
output_dtypes=[np.float64],
output_sizes={"quantile": len(q)},
dask="parallelized",
kwargs={"q": q * 100, "axis": axis, "interpolation": interpolation},
kwargs={"q": q, "axis": axis, "interpolation": interpolation},
)

# for backward compatibility
Expand Down
8 changes: 1 addition & 7 deletions xarray/plot/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -547,10 +547,6 @@ def _add_colorbar(primitive, ax, cbar_ax, cbar_kwargs, cmap_params):

def _rescale_imshow_rgb(darray, vmin, vmax, robust):
assert robust or vmin is not None or vmax is not None
# TODO: remove when min numpy version is bumped to 1.13
# There's a cyclic dependency via DataArray, so we can't import from
# xarray.ufuncs in global scope.
from xarray.ufuncs import maximum, minimum

# Calculate vmin and vmax automatically for `robust=True`
if robust:
Expand Down Expand Up @@ -579,9 +575,7 @@ def _rescale_imshow_rgb(darray, vmin, vmax, robust):
# After scaling, downcast to 32-bit float. This substantially reduces
# memory usage after we hand `darray` off to matplotlib.
darray = ((darray.astype("f8") - vmin) / (vmax - vmin)).astype("f4")
with warnings.catch_warnings():
warnings.filterwarnings("ignore", "xarray.ufuncs", PendingDeprecationWarning)
return minimum(maximum(darray, 0), 1)
return np.minimum(np.maximum(darray, 0), 1)


def _update_axes(
Expand Down
4 changes: 0 additions & 4 deletions xarray/tests/test_dataarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,6 @@ def test_repr_multiindex(self):
)
assert expected == repr(self.mda)

@pytest.mark.skipif(
LooseVersion(np.__version__) < "1.15",
reason="old versions of numpy have different printing behavior",
)
def test_repr_multiindex_long(self):
mindex_long = pd.MultiIndex.from_product(
[["a", "b", "c", "d"], [1, 2, 3, 4, 5, 6, 7, 8]],
Expand Down

0 comments on commit 3540398

Please sign in to comment.