Skip to content

Commit 11017b8

Browse files
gfyoungPingviinituutti
authored andcommitted
CLN: Drop .sortlevel method (pandas-dev#23375)
xref pandas-devgh-15099.
1 parent 06a9727 commit 11017b8

File tree

5 files changed

+3
-78
lines changed

5 files changed

+3
-78
lines changed

doc/source/whatsnew/v0.24.0.txt

+1
Original file line numberDiff line numberDiff line change
@@ -951,6 +951,7 @@ Removal of prior version deprecations/changes
951951
- :meth:`DataFrame.consolidate` and :meth:`Series.consolidate` have been removed (:issue:`15501`)
952952
- Removal of the previously deprecated module ``pandas.json`` (:issue:`19944`)
953953
- :meth:`SparseArray.get_values` and :meth:`SparseArray.to_dense` have dropped the ``fill`` parameter (:issue:`14686`)
954+
- :meth:`DataFrame.sortlevel` and :meth:`Series.sortlevel` have been removed (:issue:`15099`)
954955
- :meth:`SparseSeries.to_dense` has dropped the ``sparse_only`` parameter (:issue:`14686`)
955956

956957
.. _whatsnew_0240.performance:

pandas/core/frame.py

+1-35
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ def _constructor(self):
361361

362362
_constructor_sliced = Series
363363
_deprecations = NDFrame._deprecations | frozenset(
364-
['sortlevel', 'get_value', 'set_value', 'from_csv', 'from_items'])
364+
['get_value', 'set_value', 'from_csv', 'from_items'])
365365
_accessors = set()
366366

367367
@property
@@ -4645,40 +4645,6 @@ def sort_index(self, axis=0, level=None, ascending=True, inplace=False,
46454645
else:
46464646
return self._constructor(new_data).__finalize__(self)
46474647

4648-
def sortlevel(self, level=0, axis=0, ascending=True, inplace=False,
4649-
sort_remaining=True):
4650-
"""Sort multilevel index by chosen axis and primary level. Data will be
4651-
lexicographically sorted by the chosen level followed by the other
4652-
levels (in order).
4653-
4654-
.. deprecated:: 0.20.0
4655-
Use :meth:`DataFrame.sort_index`
4656-
4657-
4658-
Parameters
4659-
----------
4660-
level : int
4661-
axis : {0 or 'index', 1 or 'columns'}, default 0
4662-
ascending : boolean, default True
4663-
inplace : boolean, default False
4664-
Sort the DataFrame without creating a new instance
4665-
sort_remaining : boolean, default True
4666-
Sort by the other levels too.
4667-
4668-
Returns
4669-
-------
4670-
sorted : DataFrame
4671-
4672-
See Also
4673-
--------
4674-
DataFrame.sort_index(level=...)
4675-
4676-
"""
4677-
warnings.warn("sortlevel is deprecated, use sort_index(level= ...)",
4678-
FutureWarning, stacklevel=2)
4679-
return self.sort_index(level=level, axis=axis, ascending=ascending,
4680-
inplace=inplace, sort_remaining=sort_remaining)
4681-
46824648
def nlargest(self, n, columns, keep='first'):
46834649
"""
46844650
Return the first `n` rows ordered by `columns` in descending order.

pandas/core/series.py

+1-28
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ class Series(base.IndexOpsMixin, generic.NDFrame):
145145
_metadata = ['name']
146146
_accessors = {'dt', 'cat', 'str', 'sparse'}
147147
_deprecations = generic.NDFrame._deprecations | frozenset(
148-
['asobject', 'sortlevel', 'reshape', 'get_value', 'set_value',
148+
['asobject', 'reshape', 'get_value', 'set_value',
149149
'from_csv', 'valid'])
150150

151151
# Override cache_readonly bc Series is mutable
@@ -2962,33 +2962,6 @@ def nsmallest(self, n=5, keep='first'):
29622962
"""
29632963
return algorithms.SelectNSeries(self, n=n, keep=keep).nsmallest()
29642964

2965-
def sortlevel(self, level=0, ascending=True, sort_remaining=True):
2966-
"""Sort Series with MultiIndex by chosen level. Data will be
2967-
lexicographically sorted by the chosen level followed by the other
2968-
levels (in order),
2969-
2970-
.. deprecated:: 0.20.0
2971-
Use :meth:`Series.sort_index`
2972-
2973-
Parameters
2974-
----------
2975-
level : int or level name, default None
2976-
ascending : bool, default True
2977-
2978-
Returns
2979-
-------
2980-
sorted : Series
2981-
2982-
See Also
2983-
--------
2984-
Series.sort_index(level=...)
2985-
2986-
"""
2987-
warnings.warn("sortlevel is deprecated, use sort_index(level=...)",
2988-
FutureWarning, stacklevel=2)
2989-
return self.sort_index(level=level, ascending=ascending,
2990-
sort_remaining=sort_remaining)
2991-
29922965
def swaplevel(self, i=-2, j=-1, copy=True):
29932966
"""
29942967
Swap levels i and j in a MultiIndex

pandas/tests/frame/test_sorting.py

-8
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,6 @@
2121

2222
class TestDataFrameSorting(TestData):
2323

24-
def test_sort(self):
25-
frame = DataFrame(np.arange(16).reshape(4, 4), index=[1, 2, 3, 4],
26-
columns=['A', 'B', 'C', 'D'])
27-
28-
# see gh-9816
29-
with tm.assert_produces_warning(FutureWarning):
30-
frame.sortlevel()
31-
3224
def test_sort_values(self):
3325
frame = DataFrame([[1, 1, 2], [3, 1, 0], [4, 5, 6]],
3426
index=[1, 2, 3], columns=list('ABC'))

pandas/tests/series/test_sorting.py

-7
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,6 @@
1515

1616
class TestSeriesSorting(TestData):
1717

18-
def test_sortlevel_deprecated(self):
19-
ts = self.ts.copy()
20-
21-
# see gh-9816
22-
with tm.assert_produces_warning(FutureWarning):
23-
ts.sortlevel()
24-
2518
def test_sort_values(self):
2619

2720
# check indexes are reordered corresponding with the values

0 commit comments

Comments
 (0)