Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
3032

Сортировка DataFrame в pandas по одной колонке

Иногда при работе с данными встречается ситуация, когда все данные в таблице представлены в неудобном или неправильном порядке. Например, данные об

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Иногда при работе с данными встречается ситуация, когда все данные в таблице представлены в неудобном или неправильном порядке. Например, данные об отпусках сотрудников, где месяцы перечислены не по порядку:

| Сотрудник | Месяц | Количество дней |
|————|——-|——————|
| Иванов | Май | 14 |
| Сидоров | Февраль| 7 |
| Петров | Август| 10 |

В таких случаях возникает необходимость отсортировать данные по определенной колонке. В Python с помощью библиотеки pandas это можно сделать довольно просто.

Pandas — это мощная библиотека для работы с данными в Python. Одной из основных структур данных в этой библиотеке является DataFrame — двухмерная таблица данных с метками строк и столбцов.

Для сортировки данных в DataFrame по определенной колонке используется метод sort_values(). Этот метод принимает на вход имя колонки, по которой нужно отсортировать данные, и возвращает DataFrame, отсортированный по указанной колонке.

Вернемся к нашему примеру с данными об отпусках. Допустим, данные загружены в DataFrame df. Чтобы отсортировать эти данные по месяцам, можно использовать следующий код:

df = df.sort_values('Месяц')

Теперь данные в df отсортированы по месяцам:

| Сотрудник | Месяц | Количество дней |
|————|——-|——————|
| Сидоров | Февраль| 7 |
| Иванов | Май | 14 |
| Петров | Август| 10 |

Однако, в данном случае месяцы отсортированы в алфавитном порядке, а не в календарном. Чтобы решить эту проблему, можно добавить вторую колонку с номерами месяцев и отсортировать данные уже по ней:

df['Номер месяца'] = [5, 2, 8]
df = df.sort_values('Номер месяца')

Теперь данные отсортированы в календарном порядке:

| Сотрудник | Месяц | Количество дней | Номер месяца |
|————|——-|——————|—————|
| Сидоров | Февраль| 7 | 2 |
| Иванов | Май | 14 | 5 |
| Петров | Август| 10 | 8 |

Таким образом, с помощью библиотеки pandas можно легко сортировать данные в DataFrame по любой колонке.

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

Добавить комментарий