#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) сработало.