Как сгруппировать значения столбца в индекс?

У меня есть фрейм данных, который выглядит так

Date    group   value
1997    a       num
1997    b       num
1997    c       num
1997    d       num
1997    e       num
1997    f       num
1997    g       num
1998    a       num
1998    b       num
1998    c       num
1998    d       num
1998    e       num
1998    f       num
1998    g       num
1999    a       num

Как мне сделать так, чтобы это выглядело так

index   group   1997    1998    1999    2000    2001    2002
0       a       num     num     num     num     num     num
1       b       num     num     num     num     num     num
2       c       num     num     num     num     num     num
3       d       num     num     num     num     num     num
4       e       num     num     num     num     num     num
5       f       num     num     num     num     num     num
6       g       num     num     num     num     num     num

Зачем вам 7 столбцов с названием «1997»? Только 1 мало?

Mário César Fracalossi Bais 18.05.2022 00:18
Пожалуйста, не размещайте фотографии текста. Вместо этого скопируйте сам текст, редактировать в свой пост и используйте инструменты форматирования, такие как форматирование кода. Подробнее см. Как сделать хорошие воспроизводимые примеры панд.
wjandrea 18.05.2022 00:19

стреляй ты прав. Мой плохой будет редактировать его.

helpme 18.05.2022 00:19

Отвечает ли это на ваш вопрос? Как я могу повернуть фрейм данных?

Rodalm 18.05.2022 00:34
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
4
26
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сделайте сводная таблица.

>>> df.pivot_table(columns='Date', values='value', index='group', aggfunc='first')
Date  1997 1998 1999
group               
a      num  num  num
b      num  num  NaN
c      num  num  NaN
d      num  num  NaN
e      num  num  NaN
f      num  num  NaN
g      num  num  NaN

(Здесь данные отсутствуют, так как я использую только предоставленные вами входные данные.)

спасибо миллион. Единственное предложение - удалить aggfunc='first', поскольку он возвращает ошибку. Но и без него работает отлично.

helpme 18.05.2022 00:47

Это, несомненно, дублированный вопрос...

Rodalm 18.05.2022 00:51

@helpme Ваши фактические данные числовые? У меня удаление aggfunc='first' вызвало предупреждение Dropping invalid columns in DataFrameGroupBy.mean is deprecated, а сводная таблица оказалась пустой.

wjandrea 18.05.2022 00:55

да это реальные цифры я просто не хотел ими делиться

helpme 18.05.2022 00:57

@Rodalm Да, но я не смог найти его при беглом просмотре, а тот, который вы опубликовали, намного шире по своему охвату (может быть, слишком широк, ИМО, но я только просмотрел его).

wjandrea 18.05.2022 00:57

@helpme Хорошо, это важная деталь, которую нужно опустить. Убедитесь, что dtypes совпадают, даже если вы не можете указать точные числа. Дополнительные советы см. в статье Как сделать хорошие воспроизводимые примеры панд.

wjandrea 18.05.2022 00:58

простите мое невежество, не знал, что это будет важно, но теперь это имеет смысл.

helpme 18.05.2022 01:00

@helpme Честно говоря, мы все учимся :)

wjandrea 18.05.2022 01:01

Другие вопросы по теме