pandas.Series.sort_values
- Series.sort_values(axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)[source]
-
Сортировка по значениям.
Сортировка Series по возрастанию или убыванию по какому-либо критерию.
- Parameters
-
- axis:{0 or ‘index’}
-
Не используется. Параметр необходим для совместимости с DataFrame.
- ascending:bool или список bool, по умолчанию True
-
Если True, сортировка по возрастанию, иначе по убыванию.
- inplace:bool, по умолчанию False
-
Если True, операция выполняется на месте.
- kind:{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, по умолчанию ‘quicksort’
-
Выбор алгоритма сортировки. См. также
numpy.sort()для получения дополнительной информации. ‘mergesort’ и ‘stable’ — единственные стабильные алгоритмы. - na_position:{‘first’ or ‘last’}, по умолчанию ‘last’
-
Аргумент ‘first’ помещает NaN в начало, ‘last’ — в конец.
- ignore_index:bool, по умолчанию False
-
Если True, результирующая ось будет помечена 0, 1, …, n - 1.
Новое в версии 1.0.0.
- key:callable, необязательно
-
Если не None, применяет функцию key к значениям Series перед сортировкой. Это аналогично аргументу key в встроенной функции
sorted(), с заметным отличием, что эта функция key должна быть векторизованной. Она должна приниматьSeriesи возвращать похожий на массив объект.Новое в версии 1.1.0.
- Returns
-
- Series или None
-
Отсортированная Series или None, если
inplace=True.
См. также
Series.sort_index-
Сортировка по индексам Series.
DataFrame.sort_values-
Сортировка DataFrame по значениям вдоль оси.
DataFrame.sort_index-
Сортировка DataFrame по индексам.
Примеры
>>> s = pd.Series([np.nan, 1, 3, 10, 5]) >>> s 0 NaN 1 1.0 2 3.0 3 10.0 4 5.0 dtype: float64
Сортировка по возрастанию (по умолчанию)
>>> s.sort_values(ascending=True) 1 1.0 2 3.0 4 5.0 3 10.0 0 NaN dtype: float64
Сортировка по убыванию
>>> s.sort_values(ascending=False) 3 10.0 4 5.0 2 3.0 1 1.0 0 NaN dtype: float64
Сортировка на месте
>>> s.sort_values(ascending=False, inplace=True) >>> s 3 10.0 4 5.0 2 3.0 1 1.0 0 NaN dtype: float64
Сортировка, помещая NaN в начало
>>> s.sort_values(na_position='first') 0 NaN 1 1.0 2 3.0 4 5.0 3 10.0 dtype: float64
Сортировка строки строк
>>> s = pd.Series(['z', 'b', 'd', 'a', 'c']) >>> s 0 z 1 b 2 d 3 a 4 c dtype: object
>>> s.sort_values() 3 a 1 b 4 c 2 d 0 z dtype: object
Сортировка с помощью функции key. Ваша функция key получит
Seriesзначений и должна вернуть массив.>>> s = pd.Series(['a', 'B', 'c', 'D', 'e']) >>> s.sort_values() 1 B 3 D 0 a 2 c 4 e dtype: object >>> s.sort_values(key=lambda x: x.str.lower()) 0 a 1 B 2 c 3 D 4 e dtype: object
NumPy ufuncs хорошо работают здесь. Например, сортировка по
sinзначения.>>> s = pd.Series([-4, -2, 0, 2, 4]) >>> s.sort_values(key=np.sin) 1 -2 4 4 2 0 0 -4 3 2 dtype: int64
Можно использовать более сложные пользовательские функции, если они принимают Series и возвращают массив.
>>> s.sort_values(key=lambda x: (np.tan(x.cumsum()))) 0 -4 3 2 4 4 1 -2 2 0 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/1.5.0/reference/api/pandas.Series.sort_values.html