PR review for deprecating keyword, order, from factorize(). · pandas-dev/pandas@ab47916 (original) (raw)

2 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -248,6 +248,13 @@ def test_uint64_factorize(self):
248 248 tm.assert_numpy_array_equal(labels, exp_labels)
249 249 tm.assert_numpy_array_equal(uniques, exp_uniques)
250 250
251 +def test_deprecate_order(self):
252 +data = np.array([2**63, 1, 2**63], dtype=np.uint64)
253 +with tm.assert_produces_warning(expected_warning=FutureWarning):
254 +algos.factorize(data, order=True)
255 +with tm.assert_produces_warning(False):
256 +algos.factorize(data)
257 +
251 258
252 259 class TestUnique(object):
253 260
Original file line number Diff line number Diff line change
@@ -66,7 +66,7 @@ def deprecate_kwarg(old_arg_name, new_arg_name, mapping=None, stacklevel=2):
66 66 old_arg_name : str
67 67 Name of argument in function to deprecate
68 68 new_arg_name : str | None
69 - Name of preferred argument in function. Use none to raise warning that
69 + Name of preferred argument in function. Use None to raise warning that
70 70 ``old_arg_name`` keyword is deprecated.
71 71 mapping : dict or callable
72 72 If mapping is present, use it to translate old arguments to
@@ -111,7 +111,8 @@ def wrapper(*args, **kwargs):
111 111
112 112 if new_arg_name is None and old_arg_value is not None:
113 113 msg = (
114 -"the '{old_name}' keyword is no longer supported"
114 +"the '{old_name}' keyword is deprecated and will be"
115 +"removed in a future version"
115 116 "please takes steps to stop use of '{old_name}'"
116 117 ).format(old_name=old_arg_name)
117 118 warnings.warn(msg, FutureWarning, stacklevel=stacklevel)