В чем разница между пивот и пивоттэйбл ?

Спросят с вероятностью 14%



Функции pivot и pivot_table обе предназначены для реорганизации и сводки данных, но они используются в разных сценариях и имеют некоторые ключевые отличия.



Метод pivot



Используется для преобразования данных из длинного формата в широкий. Он создаёт новый DataFrame, где один или несколько столбцов используются в качестве индексов, один столбец используется для столбцов новой таблицы, и один столбец для значений новой таблицы. Основное ограничение pivot заключается в том, что комбинация индекса и столбцов должна быть уникальной, иначе метод вызовет ошибку.

import pandas as pd



data = pd.DataFrame({

'date': ['2020-01-01', '2020-01-01', '2020-01-02', '2020-01-02'],

'variable': ['A', 'B', 'A', 'B'],

'value': [1, 2, 3, 4]

})



# Преобразование в широкий формат

pivot_df = data.pivot(index='date', columns='variable', values='value')

print(pivot_df)


В этом примере данные переформатируются так, что каждая дата становится индексом, а переменные 'A' и 'B' становятся столбцами.



Метод pivot_table



Более сложный и гибкий, он используется для создания сводных таблиц. pivot_table может агрегировать данные по одному или нескольким ключам на основе суммы, среднего, максимума, минимума или других агрегатных функций. pivot_table также способен обрабатывать повторяющиеся значения за счёт агрегации.

import pandas as pd



data = pd.DataFrame({

'date': ['2020-01-01', '2020-01-01', '2020-01-02', '2020-01-02'],

'variable': ['A', 'A', 'B', 'B'],

'value': [1, 2, 3, 4]

})



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

pivot_table_df = data.pivot_table(index='date', columns='variable', values='value', aggfunc='sum')

print(pivot_table_df)


В этом примере pivot_table суммирует значения, позволяя обрабатывать неуникальные комбинации индекса и столбцов.



Основные различия

Уникальность данных: pivot требует уникальных пар индекс/столбец и выдаст ошибку в случае дубликатов. pivot_table может агрегировать дублирующиеся данные, используя функцию агрегации.

Гибкость: pivot_table предлагает дополнительные параметры, такие как aggfunc, которые позволяют более гибко обрабатывать данные.



Используйте pivot, когда данные уже в уникальном формате по каждой паре индекс/столбцы и вы просто хотите изменить форму данных. Используйте pivot_table, когда вам нужно агрегировать дублирующиеся данные или применить сложные функции агрегирования для создания сводной таблицы.



👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 207 вопроса на Data Scientist. Ставь 👍 если нравится контент



🔐 База собесов | 🔐 База тестовых