pandas.Series.sort_index
- Series.sort_index(*, axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)[source]
-
Сортировка Series по меткам индекса.
Возвращает новую Series, отсортированную по меткам, если аргумент inplace равен
False, в противном случае обновляет исходную Series и возвращает None.- Параметры:
-
- axis:{0 или ‘index’}
-
Не используется. Параметр необходим для совместимости с DataFrame.
- level:int, необязательно
-
Если не None, сортировка по значениям в указанном уровне индекса.
- ascending:bool или список bool, по умолчанию True
-
Сортировка по возрастанию или убыванию. Если индекс является многоуровневым, направление сортировки можно контролировать для каждого уровня индивидуально.
- inplace:bool, по умолчанию False
-
Если True, выполнение операции на месте.
- kind:{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, по умолчанию ‘quicksort’
-
Выбор алгоритма сортировки. См. также
numpy.sort()для получения дополнительной информации. ‘mergesort’ и ‘stable’ — единственные стабильные алгоритмы. Для DataFrame этот параметр применяется только при сортировке по одному столбцу или метке. - na_position:{‘first’, ‘last’}, по умолчанию ‘last’
-
Если ‘first’, NaN располагаются в начале, если ‘last’ — в конце. Не реализовано для MultiIndex.
- sort_remaining:bool, по умолчанию True
-
Если True и сортировка происходит по уровню, и индекс является многоуровневым, сортировка по другим уровням также выполняется (в порядке) после сортировки по указанному уровню.
- ignore_index:bool, по умолчанию False
-
Если True, результирующая ось будет иметь метки 0, 1, …, n - 1.
- key:callable, необязательно
-
Если не None, применяется функция key к значениям индекса перед сортировкой. Аналогично аргументу key в встроенной функции
sorted(), с заметным отличием, что эта функция key должна быть *векторизованной*. Она должна ожидатьIndexи возвращатьIndexтакой же формы.
- Возвращаемое значение:
-
- Series или None
-
Исходная Series, отсортированная по меткам, или None, если
inplace=True.
См. также
DataFrame.sort_index-
Сортировка DataFrame по индексу.
DataFrame.sort_values-
Сортировка DataFrame по значению.
Series.sort_values-
Сортировка Series по значению.
Примеры
>>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3, 2, 1, 4]) >>> s.sort_index() 1 c 2 b 3 a 4 d dtype: object
Сортировка по убыванию
>>> s.sort_index(ascending=False) 4 d 3 a 2 b 1 c dtype: object
По умолчанию NaN находятся в конце, но используйте na_position, чтобы поместить их в начало
>>> 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
Укажите уровень индекса для сортировки
>>> 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
Не сортирует по оставшимся уровням при сортировке по уровням
>>> 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
Применение функции key перед сортировкой
>>> s = pd.Series([1, 2, 3, 4], index=['A', 'b', 'C', 'd']) >>> s.sort_index(key=lambda x : x.str.lower()) A 1 b 2 C 3 d 4 dtype: int64
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.Series.sort_index.html