«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу эффективно повернуть фрейм данных Pandas?

Как я могу эффективно повернуть фрейм данных Pandas?

Опубликовано 21 декабря 2024 г.
Просматривать:431

How Can I Effectively Pivot a Pandas DataFrame?

Как я могу повернуть фрейм данных?

Поворот — это преобразование, которое берет фрейм данных со столбцами, представляющими категории, и строками, представляющими значения, и переориентирует его так, чтобы категории находятся в строках, значения — в столбцах, а индексу присваиваются исходные значения строк.

Основные синтаксис:

df.pivot(index=, columns=, values=)

Примеры:

  • Сделайте акцент на сингле столбец:
df.pivot(index='row', columns='col', values='val')
  • Сведение по нескольким столбцам:
df.pivot(index=['row', 'item'], columns='col', values='val')
  • Связка по нескольким значениям:
df.pivot(index='row', columns='col', values=['val0', 'val1'])
  • Сводка с пользовательской агрегацией функции:
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
  • Обработка дубликатов ключи:

По умолчанию, если в метках строк или столбцов есть повторяющиеся ключи, будет выдана ошибка. Альтернативно вы можете использовать:

df.pivot_table(index='row', columns='col', values='val', fill_value=0)
  • Другие методы для поворот:
  • groupby unstack:

    df.groupby('row', 'col')['val'].mean().unstack(fill_value=0)
  • pd.DataFrame.set_index: используйте set_index, чтобы установить оси строк и столбцов, а затем разложить их для поворота.
  • pd.crosstab: специально разработан для создания перекрестных таблиц или сводных таблиц. таблицы.

Расширенные методы поворота:

  • Перекрестная таблица (подсчет частоты):
pd.crosstab(index=df['row'], columns=df['col'], values=df['val'], aggfunc='count')
  • Несколько функций агрегирования:
df.pivot_table(index='row', columns='col', values='val', aggfunc=['mean', 'sum'])
  • Деление на несколько columns:
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3