-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
DOC: update the pandas.Series.sort_index docstring #20248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
b2ca255
0bc7869
5e061fb
7457421
3a66142
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2016,10 +2016,124 @@ def _try_kind_sort(arr): | |
else: | ||
return result.__finalize__(self) | ||
|
||
@Appender(generic._shared_docs['sort_index'] % _shared_doc_kwargs) | ||
def sort_index(self, axis=0, level=None, ascending=True, inplace=False, | ||
kind='quicksort', na_position='last', sort_remaining=True): | ||
""" | ||
Sort object by labels. | ||
|
||
Returns a new Series sorted by label if `inplace` argument is `False`, | ||
otherwise updates the original series and returns `null`. | ||
|
||
Parameters | ||
---------- | ||
axis : int, default 0 | ||
Axis to direct sorting. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you mention this can only be 0 for Series ? |
||
level : int, default None | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. " default None" -> "optional" |
||
If not None, sort on values in specified index level(s). | ||
ascending : boolean, default true | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. boolean -> bool (consistent with keyword below) |
||
Sort ascending vs. descending. | ||
inplace : bool, default False | ||
If True, perform operation in-place. | ||
kind : {'quicksort', 'mergesort', 'heapsort'}, default 'quicksort' | ||
Choice of sorting algorithm. See also ndarray.np.sort for more | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "ndarray.np.sort" -> "numpy.sort" |
||
information. `mergesort` is the only stable algorithm. For | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. you can use normal quotes in this case (like |
||
DataFrames, this option is only applied when sorting on a single | ||
column or label. | ||
na_position : {'first', 'last'}, default 'last' | ||
If `first` puts NaNs at the beginning, `last` puts NaNs at the end. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same here (using normal quotes instead of backticks around first and last) |
||
Not implemented for MultiIndex. | ||
sort_remaining : bool, default True | ||
If true and sorting by level and index is multilevel, sort by other | ||
levels too (in order) after sorting by specified level. | ||
|
||
Returns | ||
------- | ||
pandas.Series | ||
The original Series sorted by the labels | ||
|
||
See Also | ||
-------- | ||
sort_values : Sort by the value | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can you add DataFrame.sort_index, DataFrame.sort_values There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. make this Series.sort_values |
||
|
||
Examples | ||
-------- | ||
>>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3,2,1,4]) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. spaces after comma (PEP8) |
||
>>> s.sort_index() | ||
1 c | ||
2 b | ||
3 a | ||
4 d | ||
dtype: object | ||
|
||
Sort Descending | ||
|
||
>>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3,2,1,4]) | ||
>>> s.sort_index(ascending=False) | ||
4 d | ||
3 a | ||
2 b | ||
1 c | ||
dtype: object | ||
|
||
Sort Inplace | ||
|
||
>>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3,2,1,4]) | ||
>>> s.sort_index(inplace=True) | ||
>>> s | ||
1 c | ||
2 b | ||
3 a | ||
4 d | ||
dtype: object | ||
|
||
Sort placing NaNs at first | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you change "Sort placing NaNs at first" in "By default NaNs are put at the end, but use |
||
|
||
>>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3,2,1,np.nan]) | ||
>>> s.sort_index(na_position='first') | ||
NaN d | ||
1.0 c | ||
2.0 b | ||
3.0 a | ||
dtype: object | ||
|
||
Specify index level to sort | ||
|
||
>>> import numpy as np | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. don't need the numpy import |
||
>>> arrays = [np.array(['qux', 'qux', 'foo', 'foo', | ||
... 'baz', 'baz', 'bar', 'bar']), | ||
... np.array(['two', 'one', 'two', 'one', | ||
... 'two', 'one', 'two', 'one'])] | ||
>>> s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8], index=arrays) | ||
>>> s.sort_index(level=1) | ||
bar one 8 | ||
baz one 6 | ||
foo one 4 | ||
qux one 2 | ||
bar two 7 | ||
baz two 5 | ||
foo two 3 | ||
qux two 1 | ||
dtype: int64 | ||
|
||
Does not sort by remaining levels when sorting by levels | ||
|
||
>>> import numpy as np | ||
>>> arrays = [np.array(['qux', 'qux', 'foo', 'foo', | ||
... 'baz', 'baz', 'bar', 'bar']), | ||
... np.array(['two', 'one', 'two', 'one', | ||
... 'two', 'one', 'two', 'one'])] | ||
>>> s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8], index=arrays) | ||
>>> s.sort_index(level=1, sort_remaining=False) | ||
qux one 2 | ||
foo one 4 | ||
baz one 6 | ||
bar one 8 | ||
qux two 1 | ||
foo two 3 | ||
baz two 5 | ||
bar two 7 | ||
dtype: int64 | ||
""" | ||
# TODO: this can be combined with DataFrame.sort_index impl as | ||
# almost identical | ||
inplace = validate_bool_kwarg(inplace, 'inplace') | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Sort object by labels." -> "Sort Series by index labels." (if we make the docstring specific for Series and not share it with DataFrame, we can make it more specific)