Pandas数据透视表 - 将月份索引设置为按时间顺序排列,而不是按字母顺序排列

时间:2016-12-08 09:57:37

标签: pandas pivot-table seaborn

我正在尝试使用seaborn制作热图,以y轴为月。但是我看到,如果我在制作数据透视表后调用calendar.head(),则数据透视表按字母顺序排列月份列,而不是我在csv文件中的时间顺序。无论如何阻止大熊猫按字母顺序排序,还是按照时间顺序重新排序?

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")

1 个答案:

答案 0 :(得分:1)

假设您将一年中的月份存储在列表中(按顺序),如下所示:

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

这些字符串用于表示数据透视表中的月份。

然后您可以通过使用正确排序的months列表切换索引来简单地使用数据透视表:

calendar = calendar.reindex(months)

现在可以正确订购您的数据透视表。