Иногда при работе с данными встречается ситуация, когда все данные в таблице представлены в неудобном или неправильном порядке. Например, данные об отпусках сотрудников, где месяцы перечислены не по порядку:
| Сотрудник | Месяц | Количество дней |
|————|——-|——————|
| Иванов | Май | 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 по любой колонке.
Добавить комментарий