Сводная таблица Pandas, изменяющая порядок дат

#pivot-table

Вопрос:

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

Например, Дата закрытия названия

0 АББА. 29/01/2021 164.34

1 АВВА. 28/01/2021 154.34

2 АВВА. 27/01/2021 144.34

3 АВВА. 26/01/2021 134.34

4 АВВА. 25/01/2021 124.34

5 АВВА. 24/01/2021 114.34

Когда я поворачиваю его, ptable = dff.pivot_table(индекс=[‘Заголовок’], столбцы=’Дата’, значения=’Закрыть’)

Я получаю :

Название 24/01/2021 25/01/2021 26/01/2021

АВВА 114.34. 124.34. 134.34

Чего я хочу, так это:

Название 29/01/2021 28/01/2021 27/01/2021

АВВА 164.34. 154.34. 144.34

Я, кажется, не понимаю, как?

Ответ №1:

Поскольку данные верны, вам нужно только переиндексировать столбцы в нужном порядке. Попробуйте это:

 pcolumns = list(ptable.columns)
pcolumns.reverse()
ptable[pcolumns]
 

В качестве альтернативы вы используете .sort_index() .

 ptable.sort_index(ascending=False, axis=1)
 

Комментарии:

1. Все равно выходит то же самое. Если я наберу ptable.info() Я получаю следующее: # Столбец с ненулевым числом Dtype — —— ————— —— 0 2021-01-04 00:00:00 3 ненулевой поплавок64

2. Ага! Я применил ваш sort_index к фактической команде create pivot_table, и это сработало! Большое вам спасибо — я буквально часами искал пример и не нашел его.

3. ptable = dff.сводная таблица(индекс=[‘Заголовок’], столбцы=’Дата’, значения=’Закрыть’).sort_index(по возрастанию=False, ось=1) сработало.