🐼 Как правильно сортировать данные в Pandas
Из этой заметки вы узнаете, как сортировать датафреймы Pandas по нескольким столбцам с помощью метода sort_values, а также по индексам методом sort_index. Датафрейм – это двумерная структура данных, очень похожая на таблицу, которая состоит из рядов и столбцов. В Pandas мы можем сортировать фрейм данных по одному столбцу, либо по нескольким столбцам. Мы будем работать с набором данных Kaggle, а именно со статистикой трендовых видеороликов YouTube. Скачаем и откроем файл Датафрейм включает следующие столбцы: Метод Далее мы подробно разберем, за что отвечает каждый из вышеперечисленных параметров. Чтобы отсортировать датафрейм по одному столбцу, укажем имя столбца с помощью параметра Здесь: Чтобы задать порядок «по убыванию», следует указать Чтобы отсортировать датафрейм по нескольким столбцам, методу Давайте отсортируем датафрейм по показателям В параметре Параметр Inplace-сортировка (на месте) по умолчанию отключена. Для включения inplace-сортировки используем параметр С помощью параметра Метод Когда мы сортируем датафрейм, используя метод Чтобы отсортировать датафрейм по меткам столбцов, присвоим параметру *** В этой заметке мы:USvideos.csv
:
df = pd.read_csv('USvideos.csv') df.columns
sort_values
применяется для сортировки датафрейма и выглядит следующим образом:
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)
Сортировка по одному столбцу
by
. В качестве примера возьмем столбец likes
, который выводит количество набранных лайков.
df.sort_values(by='likes', ascending=False)
by
– определяет список столбцов для сортировки.ascending
– задает порядок сортировки.sort_values
по умолчанию сортирует по возрастанию.ascending=False
.Сортировка по нескольким столбцам
sort_values
нужно через запятую указать имена столбцов, которые мы собираемся использовать.likes
и dislikes
, то есть найдем видео с наибольшим числом лайков и дизлайков.ascending
порядок сортировки для столбцов также указывается через запятую, что позволяет задавать разный порядок сортировки для разных столбцов в датафрейме.
df.sort_values(['likes','dislikes'], ascending=[False, False])
Подробнее про параметры
kind
позволяет выбрать алгоритм сортировки: quicksort
(Быстрая сортировка), mergesort
(Сортировка слиянием) или heapsort
(Пирамидальная сортировка). По умолчанию используется алгоритм quicksort
.
df.sort_values('likes', ascending=False, kind="mergesort")
inplace
:
df.sort_values('likes', ascending=False, kind="mergesort", inplace=True)
key
мы можем применить любую функцию к данным еще до операции сортировки. Вместо функции также может быть lambda-функция.
df.sort_values(by='title', key=lambda x: x.str.lower())
sort_index
сортирует датафрейм по индексам строк. Давайте еще раз взглянем на наш датафрейм:
sdf = df.sort_values(by='likes', ascending=False)
sort_values
, Pandas учитывает столбец, ответственный за сортировку. Чтобы отсортировать датафрейм sdf
по индексу строк, воспользуемся методом sort_index
:
sdf.sort_index()
axis
значение 1
:
sdf.sort_index(axis=1)
sort_values()
и sort_index()
.Материалы по теме
- 4 views
- 0 Comment
Свежие комментарии