Skip to content

Commit a66a093

Browse files
authored
CI: fix deprecation warning on interpolation (#44561)
* CI: fix deprecation warning on interpolation * Fix usages in tests
1 parent e1fbd3c commit a66a093

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
@@ -11,9 +11,15 @@
1111
_nlv = Version(_np_version)
1212
np_version_under1p19 = _nlv < Version("1.19")
1313
np_version_under1p20 = _nlv < Version("1.20")
14+
np_version_under1p22 = _nlv < Version("1.22")
1415
is_numpy_dev = _nlv.dev is not None
1516
_min_numpy_ver = "1.18.5"
1617

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

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

pandas/core/nanops.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
npt,
3131
)
3232
from pandas.compat._optional import import_optional_dependency
33+
from pandas.compat.numpy import np_percentile_argname
3334

3435
from pandas.core.dtypes.common import (
3536
is_any_int_dtype,
@@ -1694,7 +1695,7 @@ def _nanpercentile_1d(
16941695
if len(values) == 0:
16951696
return np.array([na_value] * len(q), dtype=values.dtype)
16961697

1697-
return np.percentile(values, q, interpolation=interpolation)
1698+
return np.percentile(values, q, **{np_percentile_argname: interpolation})
16981699

16991700

17001701
def nanpercentile(
@@ -1747,7 +1748,9 @@ def nanpercentile(
17471748
result = np.array(result, dtype=values.dtype, copy=False).T
17481749
return result
17491750
else:
1750-
return np.percentile(values, q, axis=1, interpolation=interpolation)
1751+
return np.percentile(
1752+
values, q, axis=1, **{np_percentile_argname: interpolation}
1753+
)
17511754

17521755

17531756
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)