Метод pivot() для DataFrame в Pandas

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы научимся использовать метод pivot() в библиотеке Python Pandas. Метод pivot() позволяет преобразовать или изменить структуру DataFrame, меняя организацию значений индекса и столбцов.

Советы по виртуальной машине

После запуска виртуальной машины нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если у вас возникнут проблемы во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импорт библиотеки pandas и создание DataFrame

  • Начните с импорта библиотеки pandas и создания DataFrame с использованием функции pd.DataFrame().
import pandas as pd

data = {
  'crop': ['Rice', 'Wheat', 'Rice', 'Wheat', 'Rice', 'Wheat'],
  'state': ['karnataka', 'karnataka', 'Tamilnadu', 'Tamilnadu', 'Kerala', 'Kerala'],
  'Temperature': [29, 29, 31, 31, 25, 25],
  'Humidity': [50, 50, 62, 62, 45, 45]
}

df = pd.DataFrame(data)
print(df)
  • Это создаст DataFrame со столбцами 'crop', 'state', 'Temperature' и 'Humidity'.

Изменение структуры DataFrame с использованием метода pivot()

  • Чтобы изменить структуру DataFrame, мы можем использовать метод pivot() и указать имена индекса и столбцов.
df_pivot = df.pivot(index='crop', columns='state')
print(df_pivot)
  • Метод pivot() переупорядочит DataFrame, используя 'crop' в качестве нового индекса и 'state' в качестве нового столбца. В результате полученный DataFrame будет иметь столбцы 'Temperature' и 'Humidity' для каждой комбинации 'crop' и 'state'.

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

  • Если мы хотим включить только определенные столбцы в преобразованный DataFrame, мы можем использовать параметр values в методе pivot().
df_pivot_specific = df.pivot(index='crop', columns='state', values='Temperature')
print(df_pivot_specific)
  • В результате полученный DataFrame будет содержать только столбец 'Temperature' для каждой комбинации 'crop' и 'state'.

Обработка дубликатов в DataFrame

  • Если DataFrame содержит дубликаты, метод pivot() вызовет ошибку ValueError. В таких случаях необходимо убедиться, что DataFrame не содержит дублирующихся записей перед изменением его структуры.
df_duplicated = pd.DataFrame({'crop': ['Rice', 'Rice', 'Wheat', 'Wheat', 'Rice', 'Wheat'],
                              'state': ['karnataka', 'karnataka', 'Tamilnadu', 'Tamilnadu', 'Kerala', 'Kerala'],
                              'Temperature': [29, 29, 31, 31, 25, 25],
                              'Humidity': [50, 50, 62, 62, 45, 45]})

df_duplicated_pivot = df_duplicated.pivot(index='crop', columns='state', values='Temperature')
print(df_duplicated_pivot)
  • В этом примере DataFrame содержит дублирующиеся записи для комбинации 'crop' и 'state', что приведет к ошибке ValueError при использовании метода pivot().

Резюме

В этом практическом занятии (лабораторной работе) рассмотрено базовое использование метода pivot() в библиотеке Python Pandas. Метод pivot() позволяет преобразовать или изменить структуру DataFrame, меняя организацию значений индекса и столбцов. Мы научились изменять структуру DataFrame, выбирать определенные столбцы и обрабатывать дубликаты. Метод pivot() является мощным инструментом для манипуляции и анализа данных.