pandas.Series.sort_values#
- Series.sort_values(*, ось=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, ключ=None)[источник]#
Сортировка по значениям.
Сортировка Series в порядке возрастания или убывания по некоторому критерию.
- Параметры:
- ось{0 или ‘index’}
Не используется. Параметр необходим для совместимости с DataFrame.
- ascendingbool или список bool, по умолчанию True
Если True, сортировать значения по возрастанию, иначе по убыванию.
- inplacebool, по умолчанию False
Если True, выполнить операцию на месте.
- kind{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, по умолчанию ‘quicksort’
Выбор алгоритма сортировки. См. также
numpy.sort()для получения дополнительной информации. 'mergesort' и 'stable' - единственные стабильные алгоритмы.- na_position{‘first’ или ‘last’}, по умолчанию ‘last’
Аргумент 'first' помещает NaN в начало, 'last' помещает NaN в конец.
- ignore_indexbool, по умолчанию False
Если True, результирующая ось будет помечена как 0, 1, …, n - 1.
- ключвызываемый объект, необязательный
Если не None, применить ключевую функцию к значениям series перед сортировкой. Это похоже на ключ аргумент во встроенной функции
sorted()функция, с заметным отличием, что эта ключ функция должна быть векторизованный. Он должен ожидатьSeriesи возвращает массивоподобный объект.
- Возвращает:
- 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
Сортировка значений с размещением NA первыми
>>> 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
Сортировка с использованием ключевой функции. Ваша ключ функция будет получать
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