Введение
В этом практическом занятии мы изучим, как изменять форму данных в 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 и могут помочь нам эффективно анализировать и визуализировать данные.