Самые сложные функции в Pandas pivot_table, stack и unstack, четко объяснены
Сложные функции в Pandas - pivot_table, stack и unstack - объяснены
Овладейте этими головоломками, как никогда прежде

Введение
Хотя большинство выражений 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()
Мы хотим найти сумму всех счетов для каждого пола: