Замена Pandas Заголовок кадра данных на столбец Дата, но в порядке возрастания - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть Dataframe из 5k + строк, который выглядит следующим образом. Он имеет столбец Дата, который имеет формат месяц / год. Столбец «Дата» представлен в строковом формате.

Name   Date     Friends
A    June 2017   100
A    April 2017  45
A    March 2016  180
B    June 2017   43
B    April 2017  23
B    March 2016  23
C    June 2017   64
C    April 2017  643
C    March 2016  344

Я хочу выполнить форматирование следующим образом, который превращает уникальные значения из столбца «Дата» в заголовки. Но в порядке возрастания в соответствии с месяцем / годом.

Name    March 2016  April 2017  June 2017
A         180         45            100
B          23         23            43
C         344         643           64

Я пытался использовать функцию Pandas - Pivot.

df=df.pivot(index='Name',columns='Date',values='Friends')

Но это не сортирует месяц / год в порядке возрастания, но вместо этого в алфавитном порядке. Кроме того, Pivot преобразует фрейм данных в формат Stacked.

Любые идеи о том, как достичь желаемого формата?

1 Ответ

0 голосов
/ 23 апреля 2020

Как то так,

df['Date']=pd.to_datetime(df['Date'])
df=df.sort_values(['Date'], ascending=False)
df.groupby(['Name', 'Date'], sort=False)['Friends'].sum().unstack('Date')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...