Сортировка Pandas DataFrame: 6 способов с примерами
Сортировка Pandas DataFrame заключается в упорядочивании строк на основе значений одного или нескольких столбцов. Сортировка может быть выполнена, когда нам необходимо определить верхние или нижние значения, что может быть полезно для выбора наиболее достойных точек данных. Сортировка также может быть полезна при работе с данными, основанными на времени, когда мы можем сортировать временные метки, что дает нам возможность проанализировать изменения во времени. Кроме того, мы можем получить более эффективные и точные операции, если сортируем данные перед объединением DataFrame. В общем, сортировка имеет множество вариантов использования.
В этой статье мы рассмотрим 6 способов сортировки Pandas DataFrame в Python.
Методы сортировки Pandas DataFrame
Для сортировки Pandas DataFrame сначала создадим DataFrame, используя CSV-файл.
Пример:
import pandas as pd
df = pd.read_csv('nba_player_stats.csv')
df.head()
Здесь мы сначала импортировали pandas как pd, затем создали DataFrame с помощью CSV-файла, имя CSV-файла - nba_player_stats.csv
, после чего вывели заголовок DataFrame df.
Выходные данные:
Мы будем использовать метод sort_values()
для сортировки DataFrame, и существует шесть способов, с помощью которых мы можем отсортировать приведенный выше Pandas DataFrame, а именно:
- Сортировка DataFrame по одному столбцу
- Постоянная сортировка DataFrame по одному столбцу
- Сортировка DataFrame по нескольким столбцам
- Сортировка DataFrame в порядке убывания
- Сортировка DataFrame путём позиционирования нулевых значений
- Сортировка DataFrame по ключу
1. Сортировка DataFrame по одному столбцу
Мы можем отсортировать DataFrame по одному столбцу с помощью метода sort_values()
.
Пример:
df.sort_values(by='Player').head()
Здесь мы написали df.sort_values(by='Player').head()
, что означает, что мы указали столбец Player и отсортировали DataFrame df по столбцу Player. После выполнения мы увидели, что DataFrame df отсортирован в алфавитном порядке по столбцу Player.
Выходные данные:
2. Постоянная сортировка DataFrame по одному столбцу
Мы можем сортировать DataFrame по одному столбцу в постоянном режиме, используя тот же метод sort_values()
, передав в качестве аргумента inplace=True
.
Пример:
df.sort_values(by='Player', inplace = True, ignore_index=True)
df.head()
Здесь мы написали df.sort_values(by='Player', inplace = True, ignore_index=True)
, что означает, что мы вызвали метод sort_values
, в котором мы указали колонку Player, то есть мы отсортировали DataFrame по колонке Player, а затем мы указали inplace = True
, что означает постоянную сортировку DataFrame df, и мы также указали ignore_index=True
для повторной индексации, поскольку она была неупорядоченной.
После запуска мы увидели, что макет был изменен и DataFrame был отсортирован на основе игроков в алфавитном порядке от A до Z, а также мы увидели, что нам удалось провести повторную индексацию.
Выходные данные:
3. Сортировка DataFrame по нескольким столбцам
Мы также можем отсортировать DataFrame по нескольким столбцам, используя метод sort_values()
.
Пример:
df.sort_values(by=['Team','Player']).head()
Здесь мы написали df.sort_values(by=['Team', 'Player']).head()
, то есть мы вызвали метод sort_values, в который передали список столбцов Team и Player, что дало нам такой результат, что наш DataFrame был отсортирован сначала по столбцу Team, затем по столбцу Player.
Выходные данные:
4. Сортировка DataFrame в порядке убывания
Мы можем отсортировать DataFrame в порядке убывания, указав ascending=False
в методе sort_values()
.
Пример:
df.sort_values(by='Player', ascending=False).head()
Здесь мы написали df.sort_values(by='Player', ascending=False).head()
, что означает вызов метода sort_values
, в котором мы указали сортировку DataFrame по Player, а также указали ascending=False
, что отсортировало наш DataFrame в порядке убывания.
Выходные данные:
5. Сортировка DataFrame путем позиционирования нулевых значений
Мы также можем отсортировать DataFrame на основе позиционирования нулевых значений, указав na_position
в методе sort_values
.
Пример:
df.sort_values(by='Team', na_position='first').head()
Здесь мы написали df.sort_values(by='Team', na_position='first').head()
, что позволило отсортировать DataFrame df на основе столбца Team, а также указали na_position='first'
, что позволило перечислить строки с нулевыми значениями первыми.
Выходные данные:
6. Сортировка DataFrame по ключу
Мы можем отсортировать DataFrame по заданному ключу.
Пример:
df.sort_values(by='Player',key=lambda name: name.str.len()).head()
Здесь мы написали df.sort_values(by='Player', key=lambda name: name.str.len()).head()
, что означает, что мы взяли для сортировки столбец Player, а затем отсортировали их в зависимости от длины их символов.
Выходные данные:
Итоги
Сортировка очень важна для организации данных, выявления закономерностей и подготовки данных к анализу или визуализации. Когда мы выстраиваем данные в порядке возрастания или убывания, сортировка DataFrame позволяет получить более четкую визуализацию. В этой статье мы рассмотрели шесть способов сортировки фрейма Pandas DataFrame с примерами. Надеемся, что после прочтения этого руководства вы сможете легко сортировать Pandas DataFrame в Python.