Самые сложные функции в Pandas pivot_table, stack и unstack, четко объяснены

Сложные функции в Pandas - pivot_table, stack и unstack - объяснены

Овладейте этими головоломками, как никогда прежде

Изображение, сделанное мной с помощью Midjourney

Введение

Хотя большинство выражений Pandas читаются как на английском языке, иногда вы сталкиваетесь с настоящими головоломками. Да, у них интуитивные названия, такие как cut или pivot, но они кажутся непонятными.

Поэтому я решил написать серию статей, посвященных тому, что, по моему мнению, являются самыми сложными функциями Pandas. В этой статье будут ясно объяснены три из них: pivot_table, stack и unstack.

Поехали.

Настройка

Pandas pivot_table(), сравнение с groupby()

Должен быть один – и, желательно, только один – очевидный способ сделать это.

Вышеуказанное – цитата из “Дзен Питона”. Python хочет иметь только одно очевидное решение для одной проблемы. Но pandas намеренно избегает этого. Часто в pandas есть несколько способов выполнения одной операции.

pivot_table() – это пример. Это полноценная и иногда лучшая альтернатива функции groupby(). Разница заключается в форме результата. groupby() возвращает объект Series, тогда как pivot_table() дает удобный для работы фрейм данных.

Давайте решим задачу и предоставим решения, используя обе функции. Я загружу набор данных tips из seaborn:

tips = sns.load_dataset('tips')tips.head()

Мы хотим найти сумму всех счетов для каждого пола: