Преобразование формы данных с использованием Pandas

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

This tutorial is from open-source community. Access the source code

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

Введение

В этом практическом занятии мы изучим, как изменять форму данных в pandas с использованием различных функций, таких как sort_values, pivot, pivot_table и melt. В качестве примера для демонстрации техник изменения формы данных мы будем использовать наборы данных о титанике и о качестве воздуха.

Советы по использованию ВМ

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

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

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

Импорт библиотек и загрузка данных

Сначала импортируем необходимые библиотеки и загрузим наборы данных.

import pandas as pd

## Загрузка набора данных о титанике
titanic = pd.read_csv("data/titanic.csv")

## Загрузка набора данных о качестве воздуха
air_quality = pd.read_csv("data/air_quality_long.csv", index_col="date.utc", parse_dates=True)

Сортировка строк таблицы

Отсортируйте набор данных о титанике по возрасту пассажиров, а затем по классу кают и возрасту в порядке убывания.

## Сортировка по возрасту
titanic.sort_values(by="Age").head()

## Сортировка по Pclass и возрасту в порядке убывания
titanic.sort_values(by=['Pclass', 'Age'], ascending=False).head()

Преобразование данных из длинного формата в широкий

Теперь мы преобразуем данные о качестве воздуха в длинном формате в широкий формат с использованием функции pivot.

## Фильтрация только по данным о NO2
no2 = air_quality[air_quality["parameter"] == "no2"]

## Использование 2 измерений (головы) для каждого места (группировка по местам)
no2_subset = no2.sort_index().groupby(["location"]).head(2)

## Преобразование данных
no2_subset.pivot(columns="location", values="value")

Создание сводной таблицы

Создайте сводную таблицу, чтобы найти средние концентрации для 𝑁𝑂2 и 𝑃𝑀25 в каждом из станций.

air_quality.pivot_table(
    values="value", index="location", columns="parameter", aggfunc="mean"
)

Преобразование данных из широкого формата в длинный

Теперь преобразуем данные о 𝑁𝑂2 в широком формате в длинный формат с использованием функции melt.

## Сброс индекса для no2_pivoted
no2_pivoted = no2.pivot(columns="location", values="value").reset_index()

## Преобразование данных
no_2 = no2_pivoted.melt(id_vars="date.utc")

Резюме

В этом практическом занятии мы узнали, как изменять форму данных в pandas с использованием различных функций, таких как sort_values, pivot, pivot_table и melt. Мы применили эти методы к наборам данных о Титанике и качестве воздуха для сортировки, сводного преобразования и "плавкого" преобразования данных. Эти методы изменения формы данных важны при работе с данными в pandas и могут помочь нам эффективно анализировать и визуализировать данные.