Skip to content

Commit 59b3838

Browse files
jbrockmendelproost
authored andcommitted
DEPR: enforce deprecations for kwargs in factorize, FrozenNDArray.ser… (pandas-dev#29732)
1 parent b39f085 commit 59b3838

File tree

10 files changed

+12
-42
lines changed

10 files changed

+12
-42
lines changed

doc/source/whatsnew/v1.0.0.rst

+4
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,10 @@ or ``matplotlib.Axes.plot``. See :ref:`plotting.formatters` for more.
280280
- Removed the previously deprecated ``assert_raises_regex`` function in ``pandas.util.testing`` (:issue:`29174`)
281281
- Removed :meth:`Index.is_lexsorted_for_tuple` (:issue:`29305`)
282282
- Removed support for nexted renaming in :meth:`DataFrame.aggregate`, :meth:`Series.aggregate`, :meth:`DataFrameGroupBy.aggregate`, :meth:`SeriesGroupBy.aggregate`, :meth:`Rolling.aggregate` (:issue:`29608`)
283+
- Removed previously deprecated "order" argument from :func:`factorize` (:issue:`19751`)
284+
- Removed previously deprecated "v" argument from :meth:`FrozenNDarray.searchsorted`, use "value" instead (:issue:`22672`)
285+
- Removed previously deprecated "raise_conflict" argument from :meth:`DataFrame.update`, use "errors" instead (:issue:`23585`)
286+
- Removed previously deprecated keyword "n" from :meth:`DatetimeIndex.shift`, :meth:`TimedeltaIndex.shift`, :meth:`PeriodIndex.shift`, use "periods" instead (:issue:`22458`)
283287
-
284288

285289
.. _whatsnew_1000.performance:

pandas/core/algorithms.py

+3-16
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
from pandas._libs import Timestamp, algos, hashtable as htable, lib
1212
from pandas._libs.tslib import iNaT
13-
from pandas.util._decorators import Appender, Substitution, deprecate_kwarg
13+
from pandas.util._decorators import Appender, Substitution
1414

1515
from pandas.core.dtypes.cast import (
1616
construct_1d_object_array_from_listlike,
@@ -494,7 +494,7 @@ def _factorize_array(
494494
495495
Parameters
496496
----------
497-
%(values)s%(sort)s%(order)s
497+
%(values)s%(sort)s
498498
na_sentinel : int, default -1
499499
Value to mark "not found".
500500
%(size_hint)s\
@@ -585,14 +585,6 @@ def _factorize_array(
585585
coerced to ndarrays before factorization.
586586
"""
587587
),
588-
order=dedent(
589-
"""\
590-
order : None
591-
.. deprecated:: 0.23.0
592-
593-
This parameter has no effect and is deprecated.
594-
"""
595-
),
596588
sort=dedent(
597589
"""\
598590
sort : bool, default False
@@ -608,13 +600,8 @@ def _factorize_array(
608600
),
609601
)
610602
@Appender(_shared_docs["factorize"])
611-
@deprecate_kwarg(old_arg_name="order", new_arg_name=None)
612603
def factorize(
613-
values,
614-
sort: bool = False,
615-
order=None,
616-
na_sentinel: int = -1,
617-
size_hint: Optional[int] = None,
604+
values, sort: bool = False, na_sentinel: int = -1, size_hint: Optional[int] = None,
618605
) -> Tuple[np.ndarray, Union[np.ndarray, ABCIndex]]:
619606
# Implementation notes: This method is responsible for 3 things
620607
# 1.) coercing data to array-like (ndarray, Index, extension array)

pandas/core/frame.py

-5
Original file line numberDiff line numberDiff line change
@@ -5528,11 +5528,6 @@ def combiner(x, y):
55285528

55295529
return self.combine(other, combiner, overwrite=False)
55305530

5531-
@deprecate_kwarg(
5532-
old_arg_name="raise_conflict",
5533-
new_arg_name="errors",
5534-
mapping={False: "ignore", True: "raise"},
5535-
)
55365531
def update(
55375532
self, other, join="left", overwrite=True, filter_func=None, errors="ignore"
55385533
):

pandas/core/indexes/datetimelike.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from pandas._libs.algos import unique_deltas
1212
from pandas.compat.numpy import function as nv
1313
from pandas.errors import AbstractMethodError
14-
from pandas.util._decorators import Appender, cache_readonly, deprecate_kwarg
14+
from pandas.util._decorators import Appender, cache_readonly
1515

1616
from pandas.core.dtypes.common import (
1717
ensure_int64,
@@ -732,8 +732,7 @@ def astype(self, dtype, copy=True):
732732
# _data.astype call above
733733
return Index(new_values, dtype=new_values.dtype, name=self.name, copy=False)
734734

735-
@deprecate_kwarg(old_arg_name="n", new_arg_name="periods")
736-
def shift(self, periods, freq=None):
735+
def shift(self, periods=1, freq=None):
737736
"""
738737
Shift index by desired number of time frequency increments.
739738
@@ -742,7 +741,7 @@ def shift(self, periods, freq=None):
742741
743742
Parameters
744743
----------
745-
periods : int
744+
periods : int, default 1
746745
Number of periods (or increments) to shift by,
747746
can be positive or negative.
748747

pandas/core/indexes/frozen.py

-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
import numpy as np
1313

14-
from pandas.util._decorators import deprecate_kwarg
15-
1614
from pandas.core.dtypes.cast import coerce_indexer_dtype
1715

1816
from pandas.core.base import PandasObject
@@ -155,7 +153,6 @@ def __repr__(self) -> str:
155153
prepr = pprint_thing(self, escape_chars=("\t", "\r", "\n"), quote_strings=True)
156154
return f"{type(self).__name__}({prepr}, dtype='{self.dtype}')"
157155

158-
@deprecate_kwarg(old_arg_name="v", new_arg_name="value")
159156
def searchsorted(self, value, side="left", sorter=None):
160157
"""
161158
Find indices to insert `value` so as to maintain order.

pandas/tests/frame/test_combine_concat.py

-7
Original file line numberDiff line numberDiff line change
@@ -369,13 +369,6 @@ def test_update_raise_on_overlap(self):
369369
with pytest.raises(ValueError, match="Data overlaps"):
370370
df.update(other, errors="raise")
371371

372-
@pytest.mark.parametrize("raise_conflict", [True, False])
373-
def test_update_deprecation(self, raise_conflict):
374-
df = DataFrame([[1.5, 1, 3.0]])
375-
other = DataFrame()
376-
with tm.assert_produces_warning(FutureWarning):
377-
df.update(other, raise_conflict=raise_conflict)
378-
379372
def test_update_from_non_df(self):
380373
d = {"a": Series([1, 2, 3, 4]), "b": Series([5, 6, 7, 8])}
381374
df = DataFrame(d)

pandas/tests/indexes/datetimes/test_ops.py

-2
Original file line numberDiff line numberDiff line change
@@ -549,8 +549,6 @@ def test_shift_periods(self):
549549
idx = pd.date_range(start=START, end=END, periods=3)
550550
tm.assert_index_equal(idx.shift(periods=0), idx)
551551
tm.assert_index_equal(idx.shift(0), idx)
552-
with tm.assert_produces_warning(FutureWarning, check_stacklevel=True):
553-
tm.assert_index_equal(idx.shift(n=0), idx)
554552

555553
def test_pickle_unpickle(self):
556554
unpickled = tm.round_trip_pickle(self.rng)

pandas/tests/indexes/period/test_arithmetic.py

-2
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,3 @@ def test_shift_periods(self):
117117
idx = period_range(freq="A", start="1/1/2001", end="12/1/2009")
118118
tm.assert_index_equal(idx.shift(periods=0), idx)
119119
tm.assert_index_equal(idx.shift(0), idx)
120-
with tm.assert_produces_warning(FutureWarning, check_stacklevel=True):
121-
tm.assert_index_equal(idx.shift(n=0), idx)

pandas/tests/indexes/test_frozen.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -112,5 +112,4 @@ def test_searchsorted(self):
112112
expected = 2
113113
assert self.container.searchsorted(7) == expected
114114

115-
with tm.assert_produces_warning(FutureWarning):
116-
assert self.container.searchsorted(v=7) == expected
115+
assert self.container.searchsorted(value=7) == expected

pandas/tests/test_algos.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ def test_deprecate_order(self):
256256
# gh 19727 - check warning is raised for deprecated keyword, order.
257257
# Test not valid once order keyword is removed.
258258
data = np.array([2 ** 63, 1, 2 ** 63], dtype=np.uint64)
259-
with tm.assert_produces_warning(expected_warning=FutureWarning):
259+
with pytest.raises(TypeError, match="got an unexpected keyword"):
260260
algos.factorize(data, order=True)
261261
with tm.assert_produces_warning(False):
262262
algos.factorize(data)

0 commit comments

Comments
 (0)