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

Как повернуть фрейм данных с помощью Pandas?

Опубликовано 14 ноября 2024 г.
Просматривать:554

How to Pivot a Dataframe Using Pandas?

Как повернуть фрейм данных с помощью Pandas

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

Чтобы повернуть фрейм данных, в первую очередь используйте метод .pivot. Этот метод принимает несколько аргументов:

  1. index: указывает столбцы, которые станут индексом сводного фрейма данных.
  2. columns: указывает столбцы, которые станут заголовками столбцов повернутой таблицы. dataframe.
  3. values: обозначает столбцы, значения которых должны использоваться для заполнения сводной таблицы.

Например, рассмотрим следующий фрейм данных:

Indicator  Country  Year  Value
1          Angola   2005  6
2          Angola   2005  13
3          Angola   2005  10
4          Angola   2005  11
5          Angola   2005  5
1          Angola   2006  3
2          Angola   2006  2
3          Angola   2006  7
4          Angola   2006  3
5          Angola   2006  6

Чтобы повернуть этот фрейм данных так, чтобы значения в столбце «Индикатор» стали новыми столбцами, используйте следующий код:

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
print(out)

Эта операция создаст следующий сводный кадр данных:

Indicator     1   2   3   4  5
Country Year
Angola  2005  6  13  10  11  5
        2006  3   2   7   3  6

Чтобы преобразовать сводный фрейм данных обратно в плоскую таблицу, используйте .rename_axis, чтобы удалить ось индикатора, и .reset_index, чтобы преобразовать страну и год обратно в обычные столбцы.

print(out.rename_axis(columns=None).reset_index())

Это приведет к созданию оригинала структура данных:

  Country  Year  1   2   3   4  5
0  Angola  2005  6  13  10  11  5
1  Angola  2006  3   2   7   3  6

Если ваши данные содержат повторяющиеся комбинации меток (например, «Страна», «Год», «Показатель»), используйте .pivot_table. Этот метод по умолчанию принимает среднее значение.

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())

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

Более подробный обзор см. к руководству пользователя Pandas по изменению формы и сводным таблицам.

Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3