07 Июл 2023
2 мин
627

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

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

Visual representation of sorting a DataFrame in Python pandas.

Содержание

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

| Сотрудник | Месяц | Количество дней |
|————|——-|——————|
| Иванов | Май | 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 по любой колонке.

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