Метод sort_values
Метод sort_values применяется к DataFrame
и возвращает новый отсортированный DataFrame.
Обязательным параметром является by - имя столбца
или список имён столбцов, по которым выполняется сортировка.
Параметр ascending определяет порядок сортировки:
по возрастанию (True, значение по умолчанию)
или по убыванию (False). Параметр na_position
задаёт расположение пропущенных значений:
'last' (в конце, по умолчанию) или 'first'
(в начале). Метод не изменяет исходный DataFrame,
если не указать параметр inplace=True.
Синтаксис
df.sort_values(by, ascending=True, inplace=False, na_position='last')
Пример
Отсортируем таблицу по столбцу a по возрастанию:
import pandas as pd
df = pd.DataFrame({
'a': [3, 1, 4, 2, 5],
'b': [30, 10, 40, 20, 50]
})
res = df.sort_values(by='a')
print(res)
Результат выполнения кода:
a b
1 1 10
3 2 20
0 3 30
2 4 40
4 5 50
Пример
Отсортируем таблицу по столбцу a по убыванию:
import pandas as pd
df = pd.DataFrame({
'a': [3, 1, 4, 2, 5],
'b': [30, 10, 40, 20, 50]
})
res = df.sort_values(by='a', ascending=False)
print(res)
Результат выполнения кода:
a b
4 5 50
2 4 40
0 3 30
3 2 20
1 1 10
Пример
Отсортируем по нескольким столбцам: сначала по a
по возрастанию, затем по b по убыванию:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 1, 2, 3],
'b': [10, 30, 20, 40, 50]
})
res = df.sort_values(by=['a', 'b'], ascending=[True, False])
print(res)
Результат выполнения кода:
a b
2 1 20
0 1 10
3 2 40
1 2 30
4 3 50
Пример
Сортировка с пропущенными значениями в начале:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [np.nan, 2, np.nan, 1, 3],
'b': [10, 20, 30, 40, 50]
})
res = df.sort_values(by='a', na_position='first')
print(res)
Результат выполнения кода:
a b
0 NaN 10
2 NaN 30
3 1.0 40
1 2.0 20
4 3.0 50
Смотрите также
-
метод
sort_index,
который сортирует строки по индексу -
метод
nlargest,
который возвращает строки с наибольшими значениями -
метод
nsmallest,
который возвращает строки с наименьшими значениями -
метод
rank,
который вычисляет ранги значений в столбце