Skip to content

Commit f2447ae

Browse files
Backport PR pandas-dev#44561: CI: fix deprecation warning on interpolation (pandas-dev#44565)
Co-authored-by: Matthew Zeitlin <[email protected]>
1 parent 6462e54 commit f2447ae

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

pandas/compat/numpy/__init__.py

+6
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,15 @@
1212
np_version_under1p18 = _nlv < Version("1.18")
1313
np_version_under1p19 = _nlv < Version("1.19")
1414
np_version_under1p20 = _nlv < Version("1.20")
15+
np_version_under1p22 = _nlv < Version("1.22")
1516
is_numpy_dev = _nlv.dev is not None
1617
_min_numpy_ver = "1.17.3"
1718

19+
if is_numpy_dev or not np_version_under1p22:
20+
np_percentile_argname = "method"
21+
else:
22+
np_percentile_argname = "interpolation"
23+
1824

1925
if _nlv < Version(_min_numpy_ver):
2026
raise ImportError(

pandas/core/nanops.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
Shape,
3030
)
3131
from pandas.compat._optional import import_optional_dependency
32+
from pandas.compat.numpy import np_percentile_argname
3233

3334
from pandas.core.dtypes.common import (
3435
get_dtype,
@@ -1667,7 +1668,7 @@ def _nanpercentile_1d(
16671668
if len(values) == 0:
16681669
return np.array([na_value] * len(q), dtype=values.dtype)
16691670

1670-
return np.percentile(values, q, interpolation=interpolation)
1671+
return np.percentile(values, q, **{np_percentile_argname: interpolation})
16711672

16721673

16731674
def nanpercentile(
@@ -1720,7 +1721,9 @@ def nanpercentile(
17201721
result = np.array(result, dtype=values.dtype, copy=False).T
17211722
return result
17221723
else:
1723-
return np.percentile(values, q, axis=1, interpolation=interpolation)
1724+
return np.percentile(
1725+
values, q, axis=1, **{np_percentile_argname: interpolation}
1726+
)
17241727

17251728

17261729
def na_accum_func(values: ArrayLike, accum_func, *, skipna: bool) -> ArrayLike:

pandas/tests/frame/methods/test_quantile.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import numpy as np
22
import pytest
33

4+
from pandas.compat.numpy import np_percentile_argname
5+
46
import pandas as pd
57
from pandas import (
68
DataFrame,
@@ -153,7 +155,10 @@ def test_quantile_interpolation(self):
153155

154156
# cross-check interpolation=nearest results in original dtype
155157
exp = np.percentile(
156-
np.array([[1, 2, 3], [2, 3, 4]]), 0.5, axis=0, interpolation="nearest"
158+
np.array([[1, 2, 3], [2, 3, 4]]),
159+
0.5,
160+
axis=0,
161+
**{np_percentile_argname: "nearest"},
157162
)
158163
expected = Series(exp, index=[1, 2, 3], name=0.5, dtype="int64")
159164
tm.assert_series_equal(result, expected)
@@ -167,7 +172,7 @@ def test_quantile_interpolation(self):
167172
np.array([[1.0, 2.0, 3.0], [2.0, 3.0, 4.0]]),
168173
0.5,
169174
axis=0,
170-
interpolation="nearest",
175+
**{np_percentile_argname: "nearest"},
171176
)
172177
expected = Series(exp, index=[1, 2, 3], name=0.5, dtype="float64")
173178
tm.assert_series_equal(result, expected)

0 commit comments

Comments
 (0)