Изменение табличных данных — важная задача при анализе данных. Поворот — метод транспонирования строк и столбцов в кадре данных — часто полезен для создания сводных таблиц и изучения данных с разных точек зрения. Давайте рассмотрим, как выполнить эту операцию в Pandas, мощной библиотеке манипулирования данными.
Чтобы повернуть фрейм данных, в первую очередь используйте метод .pivot. Этот метод принимает несколько аргументов:
Например, рассмотрим следующий фрейм данных:
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