2016-12-08 2 views
1

Я пытаюсь сделать карту тепла с использованием морского дна с месяцами по оси Y. Однако я вижу, что если я вызову calendar.head() после создания сводной таблицы, то сводная таблица имеет столбцы месяцев в алфавитном порядке вместо хронологического порядка, который у меня есть в моем файле csv. Есть ли способ остановить панды от упорядочивания его в алфавитном порядке или переупорядочить его в хронологическом порядке?Pandas pivot table - установка индекса месяцев как хронологический порядок, а не в алфавитном порядке

import seaborn as sns 

df = pd.read_csv("C:/Users/Paul/Desktop/calendar.csv") 

calendar = df.pivot("Month", "Year", "hPM2.5") 

ax = sns.heatmap(calendar, annot=True, fmt="d") 
+0

Не уверен, какой именно формат вы будете использовать, но вы должны перенести объекты на несколько месяцев. В то время как панды просто видят строки и, следовательно, заказы по алфавиту. – Midnighter

ответ

1

Допустим, у вас есть месяцы года, хранящегося в списке (в порядке) следующим образом:

months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] 

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

Тогда вы можете просто обратиться свой сводную таблицу, переключая свой индекс, используя правильно упорядоченный список months так:

calendar = calendar.reindex(months) 

И ваша сводная таблица будет теперь правильно упорядочены.

+0

Большое вам спасибо. Я действительно нуждался в этой проблеме, и вы просто закончили часы пыток для меня. – Paulos

Смежные вопросы