5 основных способов сортировки фреймов данных в Python

68
технологии 28.webp

Последнее обновление 02.01.2023 — Василий Иванов

Большие активы данных запутаны, особенно когда вам приходится извлекать их с веб-сайтов, серверов или других источников данных.

Приложения на основе пользовательского интерфейса, такие как MS Excel, хороши для работы с простыми наборами данных, но могут возникнуть проблемы, когда объем данных становится больше. Это хорошая причина для перехода на Python для выполнения более сложных операций с данными.

По теме:  Apple столкнулась с судебным иском на 750 миллионов фунтов стерлингов за удушение iPhone, и вы можете получить часть из них

Сторонняя библиотека Python, Pandas, помогает быстро сортировать существующие наборы данных. Если вы хотите отсортировать данные в Python, в этой статье рассматриваются несколько способов выполнения этой задачи.

Предпосылки для использования Python для сортировки данных

Прежде чем сортировать данные в Python, необходимо выполнить несколько предварительных условий:

  • Скачайте Python IDE. Вы можете использовать IDE, совместимую с Python, например, Jupyter Notebook, PyCharm и Spyder. Каждый из них совместим со всеми версиями Python.
  • Установите панды. Вам понадобится пакет pandas, который вы можете установить с помощью PIP или вашего предпочтительного метода.
  • Образец набора данных. Загрузите образец набора данных, чтобы попрактиковаться в перечисленных кодах. Кроме того, вы можете использовать эти процедуры для своих эксклюзивных данных.

Импорт библиотеки Pandas в Python

Pandas — это сторонняя библиотека Python, которую вы можете использовать для работы с Excel, CSV и другими форматами данных.

Чтобы работать с образцом файла Excel, начните с импорта библиотеки pandas. После этого вы будете использовать процедуру импорта для чтения данных Excel в Python.

По теме:  Как исправить функцию удаленного воспроизведения Steam, не работающую в Windows

Импорт библиотеки

import pandas as pd

Создайте новый DataFrame для загрузки данных Excel

file = "Sample - Superstore.xls"
df = pd.read_excel(file)
df.head()

Где:

  • df — это объект DataFrame, в котором хранятся импортированные данные.
  • pd — это псевдоним библиотеки Pandas.
  • read_excel — это метод чтения файла Excel в Python.
  • file — это путь к файлу Excel.
  • head — это метод, который возвращает первые пять строк из DataFrame.

Как только ваша программа загрузит данные, вы можете использовать множество доступных методов DataFrame для их сортировки различными способами.

1. Сортировка по одному столбцу в DataFrame

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

По умолчанию Python сортирует данные в порядке возрастания. Если вы хотите изменить порядок сортировки, вы должны явно указать это в своем коде.

Сортировать по одному столбцу (в порядке возрастания)

df.sort_values(by = "Customer ID")

Сортировать по одному столбцу (в порядке убывания)

Установите для параметра по возрастанию значение False, чтобы отсортировать столбец в порядке убывания.

df.sort_values(by = "Customer ID", ascending=False)

Где:

  • df — это объект DataFrame, содержащий данные.
  • sort_values ​​— это метод сортировки по значениям данных.
  • by — это параметр для определения имени столбца.
  • по возрастанию — это параметр, определяющий порядок сортировки.

2. Сортировка нескольких столбцов в DataFrame

Если ваши требования требуют этого, вы также можете отсортировать свои DataFrame на основе нескольких столбцов одновременно. В таком сценарии вы должны определить ссылки на столбцы в списке.

Сортировать по нескольким столбцам по возрастанию

df.sort_values(by = ["Customer ID", "City"])

Сортировать по нескольким столбцам по убыванию

Используйте функцию по возрастанию = False, чтобы отсортировать столбцы в порядке убывания. Помните, что вам нужно указать имена столбцов в списке, чтобы отсортировать их одновременно.

df.sort_values(by = ["Customer ID", "City"], ascending = False)

Сортировка по нескольким столбцам в разных порядках сортировки

Что происходит, когда вы хотите отсортировать один столбец в порядке убывания, а другой — в порядке возрастания, не зная основ сортировки? Вам нужно немного изменить свой код, чтобы учесть эти требования.

Например, чтобы отсортировать столбцы «Регион» и «Город» в порядке убывания и возрастания соответственно:

df.sort_values(by = ["Region", "City"], ascending = [False, True])

Объяснение этого кода простое; вы определяете имя DataFrame и передаете функцию sort_values ​​вместе с именами столбцов в списке. Вы должны использовать логические значения для указания порядка сортировки.

Такой вызов функции означает, что Python сначала будет сортировать по столбцу «Регион» DataFrame в порядке убывания. Затем строки с одинаковым регионом будут отсортированы по столбцу «Город» в порядке возрастания.

3. Как сортировать столбцы в DataFrame по индексу

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

Чтобы отсортировать данные по значению индекса, вы можете использовать функцию sort_index. Эта функция сортирует на основе индекса, а не любых значений, содержащихся в исходном наборе данных.

df.sort_index()

Как и в случае с sort_values, вы можете передать возрастающий параметр, чтобы указать направление сортировки. Например, передайте значение False для сортировки данных в порядке убывания:

df.sort_index(ascending = False)

4. Сортировка столбцов в DataFrame вместо строк

Вместо сортировки строк в DataFrame вы можете сортировать его столбцы. Вы можете сделать это, вызвав метод sort_index и передав ему параметр оси со значением 1:

df.sort_index(axis=1)

Этот шаг сортирует DataFrame по его столбцам в порядке возрастания. Чтобы отсортировать столбцы DataFrame в порядке убывания, вы можете указать порядок сортировки на шаге сортировки.

df.sort_index(axis=1, ascending = False)

5. Изменение DataFrame при его сортировке

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

df.sort_values(by = ["Customer ID", "City"], ascending = False, inplace = True)

Учимся сортировать данные в Python

Python воспроизводит многие встроенные функции Excel с помощью нескольких строк кода. От процедур сортировки до создания сложных сводных таблиц для ваших данных — вы называете это, и вы можете сделать это в Python.

Если вы все еще новичок в Python и изучаете основы, эти шаги относительно легко улучшат ваши навыки кодирования.